RE: [kvm-unit-tests PATCH] x86: vmx: Add test for SIPI signal processing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Nadav Amit <nadav.amit@xxxxxxxxx>
> Sent: Monday, October 12, 2020 2:37 PM
> To: Qi, Yadong <yadong.qi@xxxxxxxxx>
> Cc: kvm@xxxxxxxxxxxxxxx; pbonzini@xxxxxxxxxx
> Subject: Re: [kvm-unit-tests PATCH] x86: vmx: Add test for SIPI signal processing
> 
> > On Oct 11, 2020, at 6:19 PM, Qi, Yadong <yadong.qi@xxxxxxxxx> wrote:
> >
> >> On my bare-metal machine, I get a #GP on the WRMSR that writes the
> >> EOI inside
> >> ipi() :
> >>
> >> Test suite: vmx_sipi_signal_test
> >> Unhandled exception 13 #GP at ip 0000000000417eba
> >> error_code=0000      rflags=00010002      cs=00000008
> >> rax=0000000000000000 rcx=000000000000080b rdx=0000000000000000
> >> rbx=0000000000000000
> >> rbp=000000000053a238 rsi=0000000000000000 rdi=000000000000000b
> >> r8=000000000000000a  r9=00000000000003f8 r10=000000000000000d
> >> r11=0000000000000000
> >> r12=000000000040c7a5 r13=0000000000000000 r14=0000000000000000
> >> r15=0000000000000000
> >> cr0=0000000080000011 cr2=0000000000000000 cr3=000000000041f000
> >> cr4=0000000000000020
> >> cr8=0000000000000000
> >> 	STACK: @417eba 417f36 417481 417383
> >>
> >> I did not dig much deeper. Could it be that there is some confusion
> >> between xapic/x2apic ?
> >
> > Thanks, Nadav.
> > I cannot reproduce the #GP issue on my bare metal machine.
> > And I am a little bit confused, there is no EOI MSR write in this test
> > suite, how the #GP comes out...
> > Could you provide more info for me to reproduce the issue?
> 
> We might have different definitions for “bare-metal” :)
> 
> I meant that I ran it directly on the machine without KVM. See [1]. You do need
> some access serial console through the iDRAC/ilo/etc..

Oh, I see. Thank you for clarifying it.

> 
> Anyhow, I figured out that you forgot to setup CR3 on the AP.
> 
> Doing something like:
> 
> +       on_cpu(1, update_cr3, (void *)read_cr3());
> 
>         /* start AP */
>         on_cpu_async(1, sipi_test_ap_thread, NULL);
> 
> 
> Solves the problem. You may want to do it in a slightly cleaner way, or extract
> update_cr3() to one of the libs to avoid further code duplication.

Thanks very much for figuring out the issue.
Will update the patch in next version.

Best Regard
Yadong

> 
> Regards,
> Nadav
> 
> 
> [1] https://patchwork.kernel.org/patch/11053903/





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux