Re: [kvm-unit-tests PATCH v1] x86: efi: set up the IDT before accessing MSRs.

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

 



On Tue, Aug 23, 2022, Vasant Karasulli wrote:
> Reading or writing MSR_IA32_APICBASE is typically an intercepted
> operation and causes #VC exception when the test is launched as
> an SEV-ES guest.
> 
> So calling pre_boot_apic_id() and reset_apic() before the IDT is
> set up in setup_idt() and load_idt() might cause problems.
> 
> Hence move percpu data setup and reset_apic() call after
> setup_idt() and load_idt().
> 
> Fixes: 3c50214c97f173f5e0f82c7f248a7c62707d8748 (x86: efi: Provide percpu storage)
> Signed-off-by: Vasant Karasulli <vkarasulli@xxxxxxx>
> ---

Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx>

>  lib/x86/setup.c | 20 ++++++++++++--------
>  1 file changed, 12 insertions(+), 8 deletions(-)
> 
> diff --git a/lib/x86/setup.c b/lib/x86/setup.c
> index 7df0256..712e292 100644
> --- a/lib/x86/setup.c
> +++ b/lib/x86/setup.c
> @@ -192,8 +192,6 @@ static void setup_segments64(void)
>  	write_gs(KERNEL_DS);
>  	write_ss(KERNEL_DS);
> 
> -	/* Setup percpu base */
> -	wrmsr(MSR_GS_BASE, (u64)&__percpu_data[pre_boot_apic_id()]);
> 
>  	/*
>  	 * Update the code segment by putting it on the stack before the return
> @@ -322,7 +320,7 @@ efi_status_t setup_efi(efi_bootinfo_t *efi_bootinfo)
>  		}
>  		return status;
>  	}
> -
> +

Huh.  This causes a conflict for me.  My local repo has a tab here that is
presumably being removed, but this patch doesn't have anything.  If I manually
add back the tab, all is well.  I suspect your client may be stripping trailing
whitespace.



[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