Re: x86: unify genapic code, unify subarchitectures, remove oldsubarchitecture code

From: Ingo Molnar
Date: Thu Jan 29 2009 - 06:27:31 EST



* Suresh Siddha <suresh.b.siddha@xxxxxxxxx> 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

---------------->