aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/irq_32.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kernel/irq_32.c b/arch/x86/kernel/irq_32.c
index 988dc8bcaebf..63ce838e5a54 100644
--- a/arch/x86/kernel/irq_32.c
+++ b/arch/x86/kernel/irq_32.c
@@ -70,7 +70,11 @@ static void call_on_stack(void *func, void *stack)
70} 70}
71 71
72/* how to get the current stack pointer from C */ 72/* how to get the current stack pointer from C */
73register unsigned long current_stack_pointer asm("esp") __used; 73#define current_stack_pointer ({ \
74 unsigned long sp; \
75 asm("mov %%esp,%0" : "=g" (sp)); \
76 sp; \
77})
74 78
75static inline void *current_stack(void) 79static inline void *current_stack(void)
76{ 80{