[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1y6cap5k6.fsf@fess.ebiederm.org>
Date: Fri, 13 Aug 2010 14:26:49 -0700
From: ebiederm@...ssion.com (Eric W. Biederman)
To: "Ira W. Snyder" <iws@...o.caltech.edu>
Cc: linux-kernel@...r.kernel.org, hpa@...or.com
Subject: Re: BISECTED: 2.6.35 (and -git) fail to boot: APIC problems
"Ira W. Snyder" <iws@...o.caltech.edu> writes:
> Hello Eric,
>
> I've recently tried to boot 2.6.35 (and -git) on one of my machines, and it
> fails to boot. No messages are printed to the serial console. I have run git
> bisect, and found that your commit cf7500c0ea133d is the cause.
This problem took a while to track down, but it should be fixed in the
commit below. Which linus merged today from the x86-urgent branch.
Thank you for the excellent bug report, and my apologies for missing
this the first time around.
Can you please verify the commit below fixes your problem?
Thanks,
Eric
commit 5989cd6a1cbf86587edcc856791f960978087311
Author: Eric W. Biederman <ebiederm@...ssion.com>
Date: Wed Aug 4 13:30:27 2010 -0700
x86, apic: Map the local apic when parsing the MP table.
This fixes a regression in 2.6.35 from 2.6.34, that is
present for select models of Intel cpus when people are
using an MP table.
The commit cf7500c0ea133d66f8449d86392d83f840102632
"x86, ioapic: In mpparse use mp_register_ioapic" started
calling mp_register_ioapic from MP_ioapic_info. An extremely
simple change that was obviously correct. Unfortunately
mp_register_ioapic did just a little more than the previous
hand crafted code and so we gained this call path.
The problem call path is:
MP_ioapic_info()
mp_register_ioapic()
io_apic_unique_id()
io_apic_get_unique_id()
get_physical_broadcast()
modern_apic()
lapic_get_version()
apic_read(APIC_LVR)
Which turned out to be a problem because the local apic
was not mapped, at that point, unlike the similar point
in the ACPI parsing code.
This problem is fixed by mapping the local apic when
parsing the mptable as soon as we reasonably can.
Looking at the number of places we setup the fixmap for
the local apic, I see some serious simplification opportunities.
For the moment except for not duplicating the setting up of the
fixmap in init_apic_mappings, I have not acted on them.
The regression from 2.6.34 is tracked in bug
https://bugzilla.kernel.org/show_bug.cgi?id=16173
Cc: <stable@...nel.org> 2.6.35
Reported-by: David Hill <hilld@...arystorm.net>
Reported-by: Tvrtko Ursulin <tvrtko.ursulin@...hos.com>
Tested-by: Tvrtko Ursulin <tvrtko.ursulin@...hos.com>
Signed-off-by: Eric W. Biederman <ebiederm@...ssion.com>
LKML-Reference: <m1eiee86jg.fsf_-_@...s.ebiederm.org>
Signed-off-by: H. Peter Anvin <hpa@...ux.intel.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists