x2apic in qemu
Posted: Sun Jan 01, 2017 5:32 pm
Has anybody tried to emulate x2apic with qemu? I can't get it working.
With TCG, I got this:
My host cpu supports it, so I've tried KVM:
No errors this time, but the guest's eax=1 cpuid returns ecx 21 bit clear, no matter what I do.
I've checked qemu's source, and I've found a stupid patch that silently disables x2apic when irqchip is not used, so I've tried
which failed as expected. Now with irqchip:
No errors, but guest cpuid reports no x2apic...
I'm not sure where else to check if kernel-irqchip is used at all, all I've got is irqbypass:
Any help would be appreciated, I'd really wanna use x2apic!
With TCG, I got this:
Code: Select all
qemu-system-x86_64 -m 32 -d guest_errors -hda bin/disk.dd -cpu IvyBridge,+x2apic -monitor stdio
QEMU 2.8.50 monitor - type 'help' for more information
(qemu) warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
Code: Select all
qemu-system-x86_64 -m 32 -d guest_errors -hda bin/disk.dd -enable-kvm -cpu host,+x2apic -monitor stdio
QEMU 2.8.50 monitor - type 'help' for more information
(qemu)
I've checked qemu's source, and I've found a stupid patch that silently disables x2apic when irqchip is not used, so I've tried
Code: Select all
qemu-system-x86_64 -m 32 -d guest_errors -hda bin/disk.dd -enable-kvm -machine kernel-irqchip=off -cpu host,+x2apic -monitor stdio
QEMU 2.8.50 monitor - type 'help' for more information
(qemu) warning: host doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
Code: Select all
qemu-system-x86_64 -m 32 -d guest_errors -hda bin/disk.dd -enable-kvm -machine kernel-irqchip=on -cpu host,+x2apic -monitor stdio
QEMU 2.8.50 monitor - type 'help' for more information
(qemu)
I'm not sure where else to check if kernel-irqchip is used at all, all I've got is irqbypass:
Code: Select all
# lsmod | grep kvm
kvm_intel 188416 0
kvm 516096 1 kvm_intel
irqbypass 16384 1 kvm