Hi Keir,
In order to support that BIOS hands over in x2APIC mode, these patches are
necessary. So it's better to also back port them to xen 4.0. I already ported
these patches to xen-4.0-testing tree, pls check them in. Thanks.
Regards,
Weidong
-----Original Message-----
From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
[mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Han, Weidong
Sent: Monday, July 05, 2010 3:08 PM
To: Xen-devel
Cc: Keir Fraser
Subject: [Xen-devel] [PATCH 0/3] x2APIC improvement
The patchset improves Xen x2APIC support.
Patch 1/3: allocate iommu when create a drhd
A drhd is created when parse ACPI DMAR table, but drhd->iommu is not
allocated until iommu setup. But iommu is needed by x2APIC which will enable
interrupt remapping before iommu setup. This patch allocates iommu when create
drhd. And then drhd->ecap can be removed because it's the same as iommu->ecap.
Patch 2/3: improve interrupt remapping and queued invalidation enabling and
disabling
x2APIC depends on interrupt remapping, so interrupt remapping needs to
be enabled before x2APIC. Usually x2APIC is not enabled (x2apic_enabled=0) when
enable interrupt remapping, although x2APIC will be enabled later. So it needs
to pass a parameter to set interrupt mode in intremap_enable, instead of
checking x2apic_enable. This patch adds a parameter "eim" to intremap_enable to
achieve it.
Interrupt remapping and queued invalidation are already enabled when
enable x2apic, so it needn't to enable them again when setup iommu. This patch
checks if interrupt remapping and queued invalidation are already enable or
not, and won't enable them if already enabled. It does the similar in
disabling, that's to say don't disable them if already disabled.
Patch 3/3: improve x2apic enabling logic
This patch masks PIC and IOAPIC RTE's before x2APIC enabling, unmask
and restore them after x2APIC enabling. It also really enables interrupt
remapping before x2APIC enabling instead of just checking interrupt remapping
setting.
This patch handles all configuration related to x2APIC. Especially, it
handles that BIOS hands over in x2APIC mode (when there is apic id > 255). It
checks if x2APIC is already enabled by BIOS. If already enabled, it will
disable interrupt remapping and queued invalidation first, then enable them
again.
Signed-off-by: Weidong Han <weidong.han@xxxxxxxxx>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
iommu-alloc-xen4.0.patch
Description: iommu-alloc-xen4.0.patch
ir-qi-xen4.0.patch
Description: ir-qi-xen4.0.patch
x2apic-logic-xen4.0.patch
Description: x2apic-logic-xen4.0.patch
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|