lkml.org 
[lkml]   [2009]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: x86: unify genapic code, unify subarchitectures, remove old subarchitecture code

    * Suresh Siddha <suresh.b.siddha@intel.com> wrote:

    > On Wed, 2009-01-28 at 15:41 -0800, Ingo Molnar wrote:
    > > This series of 114 patches implements a long desired restructuring,
    > > unification and cleanup of the x86 APIC/SMP/subarch code:
    > >
    > > - unifies the 32-bit and 64-bit genapic code
    > >
    > > - sorts out all the subarch details into standalone and boot-time
    > > probable quirk modules
    > >
    > > - removes the build-time subarch hacks that we had on 32-bit.
    > >
    > > This inevitably touches an awful lot of x86 code, and rather intrusively
    > > so:
    > >
    > > 112 files changed, 3277 insertions(+), 3209 deletions(-)
    > >
    > > So breakages are to be expected.
    >
    > Here's one :)
    >
    > diff --git a/arch/x86/include/asm/genapic.h
    > b/arch/x86/include/asm/genapic.h
    > index 4bbcf26..273b994 100644
    > --- a/arch/x86/include/asm/genapic.h
    > +++ b/arch/x86/include/asm/genapic.h
    > @@ -145,7 +145,7 @@ static inline unsigned int read_apic_id(void)
    > {
    > unsigned int reg;
    >
    > - reg = *(u32 *)(APIC_BASE + APIC_ID);
    > + reg = apic_read(APIC_ID);
    >

    ah, indeed - hardcoded mmio access to the lapic isnt quite
    xapic_ops-compatible ;-)

    Applied to tip/x86/apic (see the commit below), thanks Suresh! The xapic
    bisection breakage is 40 commits so i'll likely rebase those bits.

    Did it work fine on xapic otherwise?

    Ingo

    ---------------->
    From 97918fc3a0e1a31407df298392a12451b289ed1f Mon Sep 17 00:00:00 2001
    From: Suresh Siddha <suresh.b.siddha@intel.com>
    Date: Wed, 28 Jan 2009 17:52:57 -0800
    Subject: [PATCH] x86: remove mach_apic.h, fix

    Use apic_read() instead of open-coded mmio.

    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    arch/x86/include/asm/genapic.h | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/arch/x86/include/asm/genapic.h b/arch/x86/include/asm/genapic.h
    index 4bbcf26..273b994 100644
    --- a/arch/x86/include/asm/genapic.h
    +++ b/arch/x86/include/asm/genapic.h
    @@ -145,7 +145,7 @@ static inline unsigned int read_apic_id(void)
    {
    unsigned int reg;

    - reg = *(u32 *)(APIC_BASE + APIC_ID);
    + reg = apic_read(APIC_ID);

    return apic->get_apic_id(reg);
    }

    \
     
     \ /
      Last update: 2009-01-29 12:31    [W:0.025 / U:151.076 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site