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

Re: [Xen-devel] [PATCH] x86/boot: Clean up the trampoline transition into Long mode



On 02.01.2020 15:59, Andrew Cooper wrote:
> @@ -111,26 +109,6 @@ trampoline_protmode_entry:
>  start64:
>          /* Jump to high mappings. */
>          movabs  $__high_start, %rdi
> -
> -#ifdef CONFIG_INDIRECT_THUNK
> -        /*
> -         * If booting virtualised, or hot-onlining a CPU, sibling threads can
> -         * attempt Branch Target Injection against this jmp.
> -         *
> -         * We've got no usable stack so can't use a RETPOLINE thunk, and are
> -         * further than disp32 from the high mappings so couldn't use
> -         * JUMP_THUNK even if it was a non-RETPOLINE thunk.  Furthermore, an
> -         * LFENCE isn't necessarily safe to use at this point.
> -         *
> -         * As this isn't a hotpath, use a fully serialising event to reduce
> -         * the speculation window as much as possible.  %ebx needs preserving
> -         * for __high_start.
> -         */
> -        mov     %ebx, %esi
> -        cpuid
> -        mov     %esi, %ebx
> -#endif
> -
>          jmpq    *%rdi

I can see this being unneeded when running virtualized, as you said
in reply to Wei. However, for hot-onlining (when other CPUs may run
random vCPU-s) I don't see how this can safely be dropped. There's
no similar concern for S3 resume, as thaw_domains() happens only
after enable_nonboot_cpus().

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.