Messages in this thread | | | Date | Thu, 10 Jul 2008 21:53:20 +0200 | From | Ingo Molnar <> | Subject | Re: [patch 00/26] x64, x2apic/intr-remap: Interrupt-remapping and x2apic support |
| |
* Suresh Siddha <suresh.b.siddha@intel.com> wrote:
> x2APIC architecture provides a new x2apic mode, which allows for the > increased range of processor addressability ( > 8 bit apic ID > support), MSR access to APIC registers, etc. x2apic specification can > be found at > http://download.intel.com/design/processor/specupdt/318148.pdf > (located under > http://developer.intel.com/products/processor/manuals/index.htm ) > > Interrupt-remapping is part of Intel Virtualization Technology for > Directed I/O architecture and the specification can be found from > http://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf > (above link seems to be broken for the moment, but in general it > should be found under http://www.intel.com/technology/virtualization/ > ) > > Interrupt-remapping architecture enables extended Interrupt Mode on > x86 platforms supporting 32-bit APIC-IDs. This infrastructure allows > the existing interrupt sources such as I/OxAPICs and MSI/MSI-X devices > work seamlessly with apic-id's > 8 bits. As such, this is a > pre-requisite for enabling x2apic mode in the CPU. > > This patchset adds 64-bit support for interrupt-remapping and x2apic, > which introduces apic_ops for basic APIC ops(uncached memory Vs MSR > accesses etc), new irq_chip's for supporting interrupt-remapping and > new genapic for supporting IPI's, logical cluster/physical x2apic > modes. > > irq migration in the presence of interrupt-remapping is done from the > process-context as opposed to interrupt-context. Interrupt-remapping > infrastrucutre allows us to do this migration in a simple fashion > (atleast for edge triggered interrupts). > > Interrupt-remapping (CONFIG_INTR_REMAP) and DMA-remapping > (CONFIG_DMAR) can be enabled separately. > > More details in the individual patches that follow.
quite some stuff!
For review and testing purposes i've created a new topic branch for this: tip/x86/x2apic and have picked up your patches into it.
I've pushed it out, but it's not merged into tip/master yet (obviously, you sent this just a few minutes ago :)
It integrates fine with tip/master. If you do this:
git-checkout tip/master git-merge tip/x86/x2apic
you'll get a clean merge.
Btw., i threw it at the -tip test-cluster and got back a quick build bugreport:
arch/x86/xen/enlighten.c: In function 'xen_patch': arch/x86/xen/enlighten.c:1084: warning: label 'patch_site' defined but not used arch/x86/xen/enlighten.c: At top level: arch/x86/xen/enlighten.c:1272: error: expected identifier before '(' token arch/x86/xen/enlighten.c:1273: error: expected '}' before '.' token arch/x86/kernel/paravirt.c:376:2: error: invalid preprocessing directive #ifndedarch/x86/kernel/paravirt.c:384:2: error: #endif without #if
with this config:
http://redhat.com/~mingo/misc/config-Thu_Jul_10_21_43_28_CEST_2008.bad
bisection shows that it was caused by:
| 38c56e6b674074f8ec98722ceca3d15771e17abe is first bad commit | commit 38c56e6b674074f8ec98722ceca3d15771e17abe | Author: Suresh Siddha <suresh.b.siddha@intel.com> | Date: Thu Jul 10 11:16:49 2008 -0700 | | x64, x2apic/intr-remap: basic apic ops support
(that's all for tonight - will have another look tomorrow.)
Ingo
| |