[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RE: [PATCH 0/3] x2APIC improvement


  • To: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Han, Weidong" <weidong.han@xxxxxxxxx>
  • Date: Thu, 15 Jul 2010 15:56:01 +0800
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Cc: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
  • Delivery-date: Thu, 15 Jul 2010 00:58:54 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcscEMyI63N+9hxeTa+xF8uqixj4pQH4MHIQ
  • Thread-topic: [PATCH 0/3] x2APIC improvement

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

Attachment: iommu-alloc-xen4.0.patch
Description: iommu-alloc-xen4.0.patch

Attachment: ir-qi-xen4.0.patch
Description: ir-qi-xen4.0.patch

Attachment: x2apic-logic-xen4.0.patch
Description: x2apic-logic-xen4.0.patch

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.