[lkml]   [2008]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [patch 00/26] x64, x2apic/intr-remap: Interrupt-remapping and x2apic support

    * Suresh Siddha <> 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
    > (located under
    > )
    > Interrupt-remapping is part of Intel Virtualization Technology for
    > Directed I/O architecture and the specification can be found from
    > (above link seems to be broken for the moment, but in general it
    > should be found under
    > )
    > 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

    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:

    bisection shows that it was caused by:

    | 38c56e6b674074f8ec98722ceca3d15771e17abe is first bad commit
    | commit 38c56e6b674074f8ec98722ceca3d15771e17abe
    | Author: Suresh Siddha <>
    | 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.)


     \ /
      Last update: 2008-07-10 21:57    [W:0.024 / U:3.348 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site