Re: [PATCH] x86: do_boot_cpu - check for ESR apic register presence before touching

From: Yinghai Lu
Date: Mon Sep 15 2008 - 12:25:28 EST


On Mon, Sep 15, 2008 at 9:22 AM, Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
> [Yinghai Lu - Mon, Sep 15, 2008 at 09:12:37AM -0700]
> | On Mon, Sep 15, 2008 at 8:05 AM, Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
> | > We should check first if there is ESR register before read/write it.
> | >
> | > Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxx>
> | > ---
> | >
> | > Please review and test if possible. Thanks.
> | >
> | > Index: linux-2.6.git/arch/x86/kernel/smpboot.c
> | > ===================================================================
> | > --- linux-2.6.git.orig/arch/x86/kernel/smpboot.c 2008-09-14 21:49:36.000000000 +0400
> | > +++ linux-2.6.git/arch/x86/kernel/smpboot.c 2008-09-15 18:30:37.000000000 +0400
> | > @@ -893,8 +893,10 @@ do_rest:
> | > /*
> | > * Be paranoid about clearing APIC errors.
> | > */
> | > - apic_write(APIC_ESR, 0);
> | > - apic_read(APIC_ESR);
> | > + if (APIC_INTEGRATED(apic_version[phys_apicid])) {
> | > + apic_write(APIC_ESR, 0);
> | > + apic_read(APIC_ESR);
> | > + }
> | > }
> | >
> | > /*
> | >
> |
> | maybe unrelated. Do we need to keep apic_version array?
> |
> | YH
> |
>
> as I see ACPI/MP parsing code use it - actually I think we could
> bring another variable - but don't think it worth it. Anyway
> we have to get APIC info from these tables and save it somwhere
> maybe in this array or maybe in another variable. Or you mean
> anything else that I missed?

one apic_version or boot_cpu_apic_version could be enough.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/