WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH 0/3] x2APIC improvement
From: "Han, Weidong" <weidong.han@xxxxxxxxx>
Date: Mon, 5 Jul 2010 15:07:58 +0800
Accept-language: en-US
Acceptlanguage: en-US
Cc: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Mon, 05 Jul 2010 00:10:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcscEMyI63N+9hxeTa+xF8uqixj4pQ==
Thread-topic: [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

<Prev in Thread] Current Thread [Next in Thread>