|
[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 |