diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2011-08-18 23:12:09 +0400 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2011-11-02 17:15:26 +0400 |
commit | a10c95d84c2d04a4bfb02104644bbf2811b99690 (patch) | |
tree | bd8cc3d66cce495fe78fe76c3636ab02a9ad0784 | |
parent | 4d211093e838ddd049b5cf4f0773aa5ac67f9976 (diff) | |
download | linux-a10c95d84c2d04a4bfb02104644bbf2811b99690.tar.xz |
um: unify KSTK_...
... and switch get_thread_register() to HOST_... for register numbers
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
-rw-r--r-- | arch/x86/um/asm/processor.h | 4 | ||||
-rw-r--r-- | arch/x86/um/asm/processor_32.h | 4 | ||||
-rw-r--r-- | arch/x86/um/asm/processor_64.h | 3 | ||||
-rw-r--r-- | arch/x86/um/os-Linux/registers.c | 12 |
4 files changed, 10 insertions, 13 deletions
diff --git a/arch/x86/um/asm/processor.h b/arch/x86/um/asm/processor.h index f34c4b2d09f3..118c143a9cb4 100644 --- a/arch/x86/um/asm/processor.h +++ b/arch/x86/um/asm/processor.h @@ -10,6 +10,10 @@ # include "processor_64.h" #endif +#define KSTK_EIP(tsk) KSTK_REG(tsk, HOST_IP) +#define KSTK_ESP(tsk) KSTK_REG(tsk, HOST_IP) +#define KSTK_EBP(tsk) KSTK_REG(tsk, HOST_BP) + #define ARCH_IS_STACKGROW(address) \ (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(¤t->thread.regs.regs)) diff --git a/arch/x86/um/asm/processor_32.h b/arch/x86/um/asm/processor_32.h index c4078b581df1..018f732704dd 100644 --- a/arch/x86/um/asm/processor_32.h +++ b/arch/x86/um/asm/processor_32.h @@ -63,8 +63,4 @@ static inline void rep_nop(void) #define current_text_addr() \ ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; }) -#define KSTK_EIP(tsk) KSTK_REG(tsk, EIP) -#define KSTK_ESP(tsk) KSTK_REG(tsk, UESP) -#define KSTK_EBP(tsk) KSTK_REG(tsk, EBP) - #endif diff --git a/arch/x86/um/asm/processor_64.h b/arch/x86/um/asm/processor_64.h index 0186c61d0a7e..61de92d916c3 100644 --- a/arch/x86/um/asm/processor_64.h +++ b/arch/x86/um/asm/processor_64.h @@ -42,7 +42,4 @@ static inline void arch_copy_thread(struct arch_thread *from, #define current_text_addr() \ ({ void *pc; __asm__("movq $1f,%0\n1:":"=g" (pc)); pc; }) -#define KSTK_EIP(tsk) KSTK_REG(tsk, RIP) -#define KSTK_ESP(tsk) KSTK_REG(tsk, RSP) - #endif diff --git a/arch/x86/um/os-Linux/registers.c b/arch/x86/um/os-Linux/registers.c index 3a9b6247bbbc..fa2e5a669e41 100644 --- a/arch/x86/um/os-Linux/registers.c +++ b/arch/x86/um/os-Linux/registers.c @@ -89,18 +89,18 @@ unsigned long get_thread_reg(int reg, jmp_buf *buf) { switch (reg) { #ifdef __i386__ - case EIP: + case HOST_IP: return buf[0]->__eip; - case UESP: + case HOST_SP: return buf[0]->__esp; - case EBP: + case HOST_BP: return buf[0]->__ebp; #else - case RIP: + case HOST_IP: return buf[0]->__rip; - case RSP: + case HOST_SP: return buf[0]->__rsp; - case RBP: + case HOST_BP: return buf[0]->__rbp; #endif default: |