Re: 2.6.35 hangs on early boot in KVM

Tvrtko Ursulin
2010-08-04T10:47:06Z

On Wednesday 04 Aug 2010 11:37:43 Eric W. Biederman wrote:
> Gleb Natapov <gleb@redhat.com> writes:
> > On Wed, Aug 04, 2010 at 10:16:08AM +0100, Tvrtko Ursulin wrote:
> >> Not the tip but 2.6.35 with earlyprintk=ttyS0,115200:
> >>
> >> [ 0.000000] Processor #0 (Bootup-CPU)
> >> [ 0.000000] I/O APIC #1 Version 17 at 0xFEC00000.
> >> [ 0.000000] BUG: unable to handle kernel paging request at ffffb030
> >> [ 0.000000] IP: [<c011d136>] native_apic_mem_read+0x16/0x20
> >> [ 0.000000] *pde = 00832067 *pte = 00000000
> >
> > Accessing APIC version register before APIC is mapped.
>
> Yep. I see it now. We have some of the silliest code. We only
> go down this path for certain revs of Intel cpus, and I double checked
> this change on an AMD cpu which explains why I missed hitting this
> case.
>
> The call path that is new in they bisected commit 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)
>
>
> Tvrtko can you test this patch and verify it fixes the kvm booting
> issue?
>
> This patch just maps the lapic early in the mmparse.c just like we
> do in acpi/boot.c when parsing the acpi tables.

Boots fine, thanks!

Tvrtko

Sophos Plc, The Pentagon, Abingdon Science Park, Abingdon, OX14 3YP, United Kingdom.
Company Reg No 2096520. VAT Reg No GB 348 3873 20.