mirror of
https://github.com/torvalds/linux.git
synced 2026-10-25 16:45:02 +01:00
KVM: selftests: Verify that L0's TPR doesn't get clobbered
Signed-off-by: Sean Christopherson <seanjc@google.com> Message-ID: <20260813223610.2043560-5-seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
0c19bc0ef1
commit
2f00ba93cc
|
|
@ -28,6 +28,10 @@ static void l2_guest_code(void)
|
|||
{
|
||||
if (inhibit_apicv)
|
||||
wrmsr(MSR_IA32_APICBASE, rdmsr(MSR_IA32_APICBASE) & GENMASK_ULL(11, 0));
|
||||
|
||||
x2apic_write_reg(APIC_TASKPRI, 0xf0);
|
||||
GUEST_ASSERT_EQ(x2apic_read_reg(APIC_TASKPRI), 0xf0);
|
||||
|
||||
asm volatile("cpuid" ::: "eax", "ebx", "ecx", "edx");
|
||||
}
|
||||
|
||||
|
|
@ -73,10 +77,22 @@ static void l1_guest_code(void *test_data)
|
|||
|
||||
sti_nop();
|
||||
|
||||
GUEST_ASSERT_EQ(x2apic_read_reg(APIC_TASKPRI), 0xf0);
|
||||
|
||||
x2apic_write_reg(APIC_ICR, APIC_DEST_SELF | APIC_INT_ASSERT | POSTED_INTR_VECTOR);
|
||||
GUEST_ASSERT_EQ(nr_irqs, 0);
|
||||
|
||||
x2apic_write_reg(APIC_TASKPRI, 0xff);
|
||||
GUEST_ASSERT_EQ(x2apic_read_reg(APIC_TASKPRI), 0xff);
|
||||
x2apic_write_reg(APIC_ICR, APIC_DEST_SELF | APIC_INT_ASSERT | POSTED_INTR_WAKEUP_VECTOR);
|
||||
GUEST_ASSERT_EQ(nr_irqs, 0);
|
||||
|
||||
x2apic_write_reg(APIC_TASKPRI, 0);
|
||||
GUEST_ASSERT_EQ(x2apic_read_reg(APIC_TASKPRI), 0);
|
||||
|
||||
x2apic_write_reg(APIC_ICR, APIC_DEST_SELF | APIC_INT_ASSERT | POSTED_INTR_NESTED_VECTOR);
|
||||
GUEST_ASSERT_EQ(nr_irqs, 3);
|
||||
|
||||
GUEST_DONE();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user