debuggers.hg

changeset 21070:d3720d951173

Fix 21020:3198a2e81d38

This has a pretty serious bug. ioapic_to_iommu() gets returned
drhd->iommu. However, drhd->iommu isn't allocated until part of
iommu_setup(), which is called after enable_x2apic(). Has this ever
worked?

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Mar 11 08:09:37 2010 +0000 (2010-03-11)
parents 594142f8c0bb
children 5b8e012641e2
files xen/drivers/passthrough/vtd/intremap.c
line diff
     1.1 --- a/xen/drivers/passthrough/vtd/intremap.c	Thu Mar 11 08:08:32 2010 +0000
     1.2 +++ b/xen/drivers/passthrough/vtd/intremap.c	Thu Mar 11 08:09:37 2010 +0000
     1.3 @@ -134,7 +134,7 @@ int iommu_supports_eim(void)
     1.4  
     1.5      /* We MUST have a DRHD unit for each IOAPIC. */
     1.6      for ( apic = 0; apic < nr_ioapics; apic++ )
     1.7 -        if ( !ioapic_to_iommu(IO_APIC_ID(apic)) )
     1.8 +        if ( !ioapic_to_drhd(IO_APIC_ID(apic)) )
     1.9              return 0;
    1.10  
    1.11      if ( list_empty(&acpi_drhd_units) )