mirror of
https://github.com/xen-project/xen.git
synced 2026-10-30 03:00:05 +01:00
x86/alt: Drop explicit padding of origin sites
Now that the alternatives infrastructure can calculate the required padding automatically, there is no need to hard code it. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Wei Liu <wei.liu2@citrix.com> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
4008c71d7a
commit
2c85e86f0b
4 files changed
+10
-20
No files matched your search
@@ -134,7 +134,7 @@ ENTRY(compat_restore_all_guest)
|
||||
jne 1b
|
||||
2:
|
||||
.endm
|
||||
ALTERNATIVE_2 ".skip 45, 0x90", \
|
||||
ALTERNATIVE_2 "", \
|
||||
alt_cr4_pv32, X86_FEATURE_XEN_SMEP, \
|
||||
alt_cr4_pv32, X86_FEATURE_XEN_SMAP
|
||||
|
||||
|
||||
@@ -601,7 +601,7 @@ handle_exception_saved:
|
||||
testb $X86_EFLAGS_IF>>8,UREGS_eflags+1(%rsp)
|
||||
jz exception_with_ints_disabled
|
||||
|
||||
ALTERNATIVE_2 "jmp .Lcr4_pv32_done; .skip 2, 0x90", \
|
||||
ALTERNATIVE_2 "jmp .Lcr4_pv32_done", \
|
||||
__stringify(mov VCPU_domain(%rbx), %rax), X86_FEATURE_XEN_SMEP, \
|
||||
__stringify(mov VCPU_domain(%rbx), %rax), X86_FEATURE_XEN_SMAP
|
||||
|
||||
|
||||
@@ -65,13 +65,6 @@
|
||||
#define ASM_NOP8 _ASM_MK_NOP(P6_NOP8)
|
||||
#define ASM_NOP9 _ASM_MK_NOP(P6_NOP9)
|
||||
|
||||
#define ASM_NOP17 ASM_NOP8; ASM_NOP7; ASM_NOP2
|
||||
#define ASM_NOP21 ASM_NOP8; ASM_NOP8; ASM_NOP5
|
||||
#define ASM_NOP24 ASM_NOP8; ASM_NOP8; ASM_NOP8
|
||||
#define ASM_NOP29 ASM_NOP8; ASM_NOP8; ASM_NOP8; ASM_NOP5
|
||||
#define ASM_NOP32 ASM_NOP8; ASM_NOP8; ASM_NOP8; ASM_NOP8
|
||||
#define ASM_NOP40 ASM_NOP8; ASM_NOP8; ASM_NOP8; ASM_NOP8; ASM_NOP8
|
||||
|
||||
#define ASM_NOP_MAX 9
|
||||
|
||||
#endif /* __X86_ASM_NOPS_H__ */
|
||||
@@ -216,9 +216,8 @@
|
||||
|
||||
/* Use after a VMEXIT from an HVM guest. */
|
||||
#define SPEC_CTRL_ENTRY_FROM_VMEXIT \
|
||||
ALTERNATIVE __stringify(ASM_NOP40), \
|
||||
DO_OVERWRITE_RSB, X86_FEATURE_RSB_VMEXIT; \
|
||||
ALTERNATIVE_2 __stringify(ASM_NOP32), \
|
||||
ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_RSB_VMEXIT; \
|
||||
ALTERNATIVE_2 "", \
|
||||
__stringify(DO_SPEC_CTRL_ENTRY_FROM_VMEXIT \
|
||||
ibrs_val=SPEC_CTRL_IBRS), \
|
||||
X86_FEATURE_XEN_IBRS_SET, \
|
||||
@@ -228,9 +227,8 @@
|
||||
|
||||
/* Use after an entry from PV context (syscall/sysenter/int80/int82/etc). */
|
||||
#define SPEC_CTRL_ENTRY_FROM_PV \
|
||||
ALTERNATIVE __stringify(ASM_NOP40), \
|
||||
DO_OVERWRITE_RSB, X86_FEATURE_RSB_NATIVE; \
|
||||
ALTERNATIVE_2 __stringify(ASM_NOP21), \
|
||||
ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_RSB_NATIVE; \
|
||||
ALTERNATIVE_2 "", \
|
||||
__stringify(DO_SPEC_CTRL_ENTRY maybexen=0 \
|
||||
ibrs_val=SPEC_CTRL_IBRS), \
|
||||
X86_FEATURE_XEN_IBRS_SET, \
|
||||
@@ -239,9 +237,8 @@
|
||||
|
||||
/* Use in interrupt/exception context. May interrupt Xen or PV context. */
|
||||
#define SPEC_CTRL_ENTRY_FROM_INTR \
|
||||
ALTERNATIVE __stringify(ASM_NOP40), \
|
||||
DO_OVERWRITE_RSB, X86_FEATURE_RSB_NATIVE; \
|
||||
ALTERNATIVE_2 __stringify(ASM_NOP29), \
|
||||
ALTERNATIVE "", DO_OVERWRITE_RSB, X86_FEATURE_RSB_NATIVE; \
|
||||
ALTERNATIVE_2 "", \
|
||||
__stringify(DO_SPEC_CTRL_ENTRY maybexen=1 \
|
||||
ibrs_val=SPEC_CTRL_IBRS), \
|
||||
X86_FEATURE_XEN_IBRS_SET, \
|
||||
@@ -250,13 +247,13 @@
|
||||
|
||||
/* Use when exiting to Xen context. */
|
||||
#define SPEC_CTRL_EXIT_TO_XEN \
|
||||
ALTERNATIVE_2 __stringify(ASM_NOP17), \
|
||||
ALTERNATIVE_2 "", \
|
||||
DO_SPEC_CTRL_EXIT_TO_XEN, X86_FEATURE_XEN_IBRS_SET, \
|
||||
DO_SPEC_CTRL_EXIT_TO_XEN, X86_FEATURE_XEN_IBRS_CLEAR
|
||||
|
||||
/* Use when exiting to guest context. */
|
||||
#define SPEC_CTRL_EXIT_TO_GUEST \
|
||||
ALTERNATIVE_2 __stringify(ASM_NOP24), \
|
||||
ALTERNATIVE_2 "", \
|
||||
DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_XEN_IBRS_SET, \
|
||||
DO_SPEC_CTRL_EXIT_TO_GUEST, X86_FEATURE_XEN_IBRS_CLEAR
|
||||
|
||||
|
||||