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@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Andrew Cooper committed 2023-11-21 13:28:51 +00:00
1 parent 625f2cc66f
commit d9fc66554f
4 files changed
+6 -5

No files matched your search

+1 -3
View File
@@ -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 {
+2 -1
View File
@@ -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);
}
+2
View File
@@ -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)
{
+1 -1
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.