On 11/27/2011 07:04 AM, Avi Kivity wrote:
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.
Ack.
Regards,
Anthony Liguori