On 11/24/2011 08:03 PM, Luiz Capitulino wrote: > Avi, > > I'm getting the following panic very early on boot on a F16 VM (latest > qemu.git head 40897c9): > > [ 0.068018] Kernel panic - not syncing: Boot APIC ID in local APIC > unexpected (-1 vs 0) > [ 0.070006] Pid: 1, comm: swapper Not tainted 3.1.0-7.fc16.x86_64 #1 > [ 0.071004] Call Trace: > [ 0.072035] [<ffffffff814acb8e>] panic+0x91/0x1a5 > [ 0.073027] [<ffffffff81b831ca>] native_smp_prepare_cpus+0x24c/0x300 > [ 0.075010] [<ffffffff81b76c0d>] kernel_init+0x85/0x158 > [ 0.075993] [<ffffffff810527eb>] ? schedule_tail+0x27/0x6c > [ 0.076017] [<ffffffff814be5f4>] kernel_thread_helper+0x4/0x10 > [ 0.077022] [<ffffffff81b76b88>] ? start_kernel+0x3b6/0x3b6 > [ 0.078009] [<ffffffff814be5f0>] ? gs_change+0x13/0x13 > > After some debugging and I found out that this only happens when '-cpu host' > is passed, and according to git bisect it's caused by the following commit: > > commit 66e3dd9282141b5ae75637c9676002cf3ceeb988 > Author: Avi Kivity <a...@redhat.com> > Date: Wed Nov 9 15:44:36 2011 +0200 > > i386: derive '-cpu host' from KVM_GET_SUPPORTED_CPUID >
Strange, since it looks like cpuid 1 (ebx) returns the correct APIC ID. Anthony, I think we should revert that commit and refactor cpuid for 1.1. The logic is spread over too many places which makes it hard to reason about. -- error compiling committee.c: too many arguments to function