[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/traps: More use of nocall
commit d9fc66554f2cebe74df20da848dc758e8ceb85f9 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Thu Oct 26 18:21:35 2023 +0100 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Tue Nov 21 13:28:51 2023 +0000 x86/traps: More use of nocall sysenter_eflags_saved() and int80_direct_trap() are now only used by a single translation unit. Move the declarations into the respective traps.c, renaming int80_direct_trap() to entry_int80() to match the style elsewhere. Annotate all 3 with nocall like all other entry paths. Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/arch/x86/include/asm/processor.h | 4 +--- xen/arch/x86/pv/traps.c | 3 ++- xen/arch/x86/traps.c | 2 ++ xen/arch/x86/x86_64/entry.S | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h index b0d2a62c07..ff62b080af 100644 --- a/xen/arch/x86/include/asm/processor.h +++ b/xen/arch/x86/include/asm/processor.h @@ -457,9 +457,7 @@ static inline void enable_nmis(void) [cs] "r" (__HYPERVISOR_CS) ); } -void sysenter_entry(void); -void sysenter_eflags_saved(void); -void int80_direct_trap(void); +void nocall sysenter_entry(void); struct stubs { union { diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c index 240d1a2db7..83e84e2762 100644 --- a/xen/arch/x86/pv/traps.c +++ b/xen/arch/x86/pv/traps.c @@ -132,6 +132,7 @@ static void cf_check nmi_softirq(void) *v_ptr = NULL; } +void nocall entry_int80(void); void nocall entry_int82(void); void __init pv_trap_init(void) @@ -144,7 +145,7 @@ void __init pv_trap_init(void) /* Fast trap for int80 (faster than taking the #GP-fixup path). */ _set_gate(idt_table + LEGACY_SYSCALL_VECTOR, SYS_DESC_irq_gate, 3, - &int80_direct_trap); + &entry_int80); open_softirq(NMI_SOFTIRQ, nmi_softirq); } diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index e1356f696a..9a6d29f24a 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -1884,6 +1884,8 @@ void do_device_not_available(struct cpu_user_regs *regs) #endif } +void nocall sysenter_eflags_saved(void); + /* SAF-1-safe */ void do_debug(struct cpu_user_regs *regs) { diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S index d95fc75b34..c25b14dde6 100644 --- a/xen/arch/x86/x86_64/entry.S +++ b/xen/arch/x86/x86_64/entry.S @@ -385,7 +385,7 @@ UNLIKELY_END(sysenter_gpf) #endif jmp .Lbounce_exception -ENTRY(int80_direct_trap) +ENTRY(entry_int80) ENDBR64 ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP pushq $0 -- generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |