|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] Re: [Xen-users] Re: VT-D RMRR is incorrect
 
Ross Philipson schrieb:
 
Hi folks,
 This sounds a lot like an issue I am working on right now. A recent 
change to the vtd code changed the way the 1 to 1 page mapping for dom0 
is done (look at intel_iommu_domain_init() for dom0). The change was to 
query the e820 map for memory regions that were usable RAM and only map 
those into the iommus for dom0. Thus reserved regions were no longer 
mapped in. When the RMRR values do not report the correct values for 
required 1 to 1 reserved memory regions, the needed regions do not get 
mapped in. Thus device DMA to these regions causes vtd faults and in out 
case a hang. It is indeed a BIOS bug; perhaps this is the same issue you 
are seeing?
 Anyway, I am working on a workaround that I will be pushing upstream 
this week. A parameter will allow you to include reserved memory regions 
in the mappings. It is not ideal (less secure) but better than hanging 
or crashing…
 
Hi Ross,
 I tried your patch from you other post, but even with the new parameter 
enabled I still get the DMAR error messages and vt-d being disabled:
(XEN) Command line: dom0_mem=1024M iommu=1 iommu_include_reserved=1
...
(XEN) [VT-D]dmar.c:473: Host address width 39
(XEN) [VT-D]dmar.c:482: found ACPI_DMAR_DRHD
(XEN) [VT-D]dmar.c:337: dmaru->address = fbfff000
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1b.0
(XEN) [VT-D]dmar.c:482: found ACPI_DMAR_DRHD
(XEN) [VT-D]dmar.c:337: dmaru->address = fbffe000
(XEN) [VT-D]dmar.c:294: found IOAPIC: bdf = f0:1f.7
(XEN) [VT-D]dmar.c:294: found IOAPIC: bdf = 0:13.0
(XEN) [VT-D]dmar.c:346: found INCLUDE_ALL
(XEN) [VT-D]dmar.c:486: found ACPI_DMAR_RMRR
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1d.0
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1d.1
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1d.2
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1d.7
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1a.0
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1a.1
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1a.2
(XEN) [VT-D]dmar.c:288: found endpoint: bdf = 0:1a.7
(XEN) [VT-D]dmar.c:486: found ACPI_DMAR_RMRR
(XEN) [VT-D]dmar.c:376: RMRR error: base_addr bf7dc000 end_address bf7dbfff
(XEN) Failed to parse ACPI DMAR.  Disabling VT-d.
Best regards,
   Christian
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |   
 
 | 
    | 
  
  
    |   | 
    |