Reproducible: Yes, every time. Steps:
1.) apt-get install --yes --allow build-essential cpu-checker qemu-kvm git gcc-multilib 2.) git clone --depth=1 https://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git 3.) cd kvm-unit-tests; ./configure; make
4.) TESTNAME=apic-split TIMEOUT=90s ACCEL= ./x86/run x86/apic.flat -smp 2 -cpu qemu64,+x2apic,+tsc-deadline -machine kernel_irqchip=split
root@ip-172-31-5-254:/home/ubuntu/kvm-unit-tests# TESTNAME=apic-split TIMEOUT=90s ACCEL= ./x86/run x86/apic.flat -smp 2 -cpu qemu64,+x2apic,+tsc-deadline -machine kernel_irqchip=split timeout -k 1s --foreground 90s /usr/bin/qemu-system-x86_64 -nodefaults -device pc-testdev -device isa-debug-exit,iobase=0xf4,iosize=0x4 -vnc none -serial stdio -device pci-testdev -machine accel=kvm -kernel x86/apic.flat -smp 2 -cpu qemu64,+x2apic,+tsc-deadline -machine kernel_irqchip=split # -initrd /tmp/tmp.ZHQwPUOuLD qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H:ECX.svm [bit 2] qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H:ECX.svm [bit 2] enabling apic enabling apic paging enabled cr0 = 80010011 cr3 = 459000 cr4 = 20 apic version: 1050014 PASS: apic existence PASS: xapic id matches cpuid PASS: writeable xapic id PASS: non-writeable x2apic id PASS: sane x2apic id PASS: x2apic id matches cpuid PASS: correct xapic id after reset PASS: apic_disable: Local apic disabled PASS: apic_disable: CPUID.1H:EDX.APIC[bit 9] is clear PASS: apic_disable: *0xfee00030: ffffffff PASS: apic_disable: CR8: 0 PASS: apic_disable: CR8: f PASS: apic_disable: *0xfee00080: ffffffff PASS: apic_disable: Local apic enabled in xAPIC mode PASS: apic_disable: CPUID.1H:EDX.APIC[bit 9] is set PASS: apic_disable: *0xfee00030: 1050014 PASS: apic_disable: *0xfee00080: 0 PASS: apic_disable: *0xfee00080: f0 PASS: apic_disable: Local apic enabled in x2APIC mode PASS: apic_disable: CPUID.1H:EDX.APIC[bit 9] is set PASS: apic_disable: *0xfee00030: ffffffff PASS: apic_disable: CR8: 0 PASS: apic_disable: CR8: f PASS: apic_disable: *0xfee00080: ffffffff x2apic enabled PASS: x2apic enabled to invalid state PASS: x2apic enabled to apic enabled PASS: x2apic enabled to disabled state PASS: disabled to invalid state PASS: disabled to x2apic enabled PASS: apic enabled to invalid state PASS: apicbase: relocate apic PASS: apicbase: reserved physaddr bits PASS: apicbase: reserved low bits PASS: self ipi starting broadcast (x2apic) PASS: APIC physical broadcast address PASS: APIC physical broadcast shorthand FAIL: PV IPIs testing PASS: nmi-after-sti PASS: multiple nmi PASS: APIC LVT timer one shot starting apic change mode PASS: TMICT value reset PASS: TMCCT should have a non-zero value PASS: TMCCT should have reached 0 PASS: TMCCT should have a non-zero value PASS: TMCCT should not be reset to TMICT value PASS: TMCCT should be reset to the initial-count PASS: TMCCT should not be reset to init PASS: TMCCT should have reach zero PASS: TMCCT should stay at zero PASS: tsc deadline timer PASS: tsc deadline timer clearing SUMMARY: 51 tests, 1 unexpected failures
Reproducible: Yes, every time.
Steps:
1.) apt-get install --yes --allow build-essential cpu-checker qemu-kvm git gcc-multilib /git.kernel. org/pub/ scm/virt/ kvm/kvm- unit-tests. git
2.) git clone --depth=1 https:/
3.) cd kvm-unit-tests; ./configure; make
4.) TESTNAME=apic-split TIMEOUT=90s ACCEL= ./x86/run x86/apic.flat -smp 2 -cpu qemu64, +x2apic, +tsc-deadline -machine kernel_ irqchip= split
root@ip- 172-31- 5-254:/ home/ubuntu/ kvm-unit- tests# TESTNAME=apic-split TIMEOUT=90s ACCEL= ./x86/run x86/apic.flat -smp 2 -cpu qemu64, +x2apic, +tsc-deadline -machine kernel_ irqchip= split qemu-system- x86_64 -nodefaults -device pc-testdev -device isa-debug- exit,iobase= 0xf4,iosize= 0x4 -vnc none -serial stdio -device pci-testdev -machine accel=kvm -kernel x86/apic.flat -smp 2 -cpu qemu64, +x2apic, +tsc-deadline -machine kernel_ irqchip= split # -initrd /tmp/tmp.ZHQwPUOuLD :ECX.svm [bit 2] :ECX.svm [bit 2] EDX.APIC[ bit 9] is clear EDX.APIC[ bit 9] is set EDX.APIC[ bit 9] is set
timeout -k 1s --foreground 90s /usr/bin/
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H
qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.80000001H
enabling apic
enabling apic
paging enabled
cr0 = 80010011
cr3 = 459000
cr4 = 20
apic version: 1050014
PASS: apic existence
PASS: xapic id matches cpuid
PASS: writeable xapic id
PASS: non-writeable x2apic id
PASS: sane x2apic id
PASS: x2apic id matches cpuid
PASS: correct xapic id after reset
PASS: apic_disable: Local apic disabled
PASS: apic_disable: CPUID.1H:
PASS: apic_disable: *0xfee00030: ffffffff
PASS: apic_disable: CR8: 0
PASS: apic_disable: CR8: f
PASS: apic_disable: *0xfee00080: ffffffff
PASS: apic_disable: Local apic enabled in xAPIC mode
PASS: apic_disable: CPUID.1H:
PASS: apic_disable: *0xfee00030: 1050014
PASS: apic_disable: *0xfee00080: 0
PASS: apic_disable: *0xfee00080: f0
PASS: apic_disable: Local apic enabled in x2APIC mode
PASS: apic_disable: CPUID.1H:
PASS: apic_disable: *0xfee00030: ffffffff
PASS: apic_disable: CR8: 0
PASS: apic_disable: CR8: f
PASS: apic_disable: *0xfee00080: ffffffff
x2apic enabled
PASS: x2apic enabled to invalid state
PASS: x2apic enabled to apic enabled
PASS: x2apic enabled to disabled state
PASS: disabled to invalid state
PASS: disabled to x2apic enabled
PASS: apic enabled to invalid state
PASS: apicbase: relocate apic
PASS: apicbase: reserved physaddr bits
PASS: apicbase: reserved low bits
PASS: self ipi
starting broadcast (x2apic)
PASS: APIC physical broadcast address
PASS: APIC physical broadcast shorthand
FAIL: PV IPIs testing
PASS: nmi-after-sti
PASS: multiple nmi
PASS: APIC LVT timer one shot
starting apic change mode
PASS: TMICT value reset
PASS: TMCCT should have a non-zero value
PASS: TMCCT should have reached 0
PASS: TMCCT should have a non-zero value
PASS: TMCCT should not be reset to TMICT value
PASS: TMCCT should be reset to the initial-count
PASS: TMCCT should not be reset to init
PASS: TMCCT should have reach zero
PASS: TMCCT should stay at zero
PASS: tsc deadline timer
PASS: tsc deadline timer clearing
SUMMARY: 51 tests, 1 unexpected failures