|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] x86/boot: Clean up the trampoline transition into Long mode
The jmp after setting %cr0 is redundant with the following ljmp.
The CPUID to protect the jump to higher mappings was inserted due to an
abundance of caution/paranoia before Spectre was public. There is not a
matching protection in the S3 resume path, and there is nothing
interesting in memory at this point.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Wei Liu <wl@xxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
xen/arch/x86/boot/trampoline.S | 22 ----------------------
1 file changed, 22 deletions(-)
diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S
index c60ebb3f00..574d1bd8f4 100644
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -101,8 +101,6 @@ trampoline_protmode_entry:
mov $(X86_CR0_PG | X86_CR0_AM | X86_CR0_WP | X86_CR0_NE |\
X86_CR0_ET | X86_CR0_MP | X86_CR0_PE), %eax
mov %eax,%cr0
- jmp 1f
-1:
/* Now in compatibility mode. Long-jump into 64-bit mode. */
ljmp $BOOT_CS64,$bootsym_rel(start64,6)
@@ -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
#include "video.h"
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |