diff options
author | Glauber Costa <gcosta@redhat.com> | 2008-06-24 11:37:57 -0300 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-09 09:14:04 +0200 |
commit | 40faf463e62de0b29722910eded7dd26cd8b684b (patch) | |
tree | ab7a576aec523d750944c53f6c7f340b4a1a3a3a /arch/x86/lib/getuser_32.S | |
parent | ef8c1a2d0e990d0f4f15e1d45eeb262755e3d4c3 (diff) |
x86: introduce __ASM_REG macro.
There are situations in which the architecture wants to use the
register that represents its word-size, whatever it is. For those,
introduce __ASM_REG in asm.h, along with the first users _ASM_AX
and _ASM_DX. They have users waiting for it, namely the getuser
functions.
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/lib/getuser_32.S')
-rw-r--r-- | arch/x86/lib/getuser_32.S | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/arch/x86/lib/getuser_32.S b/arch/x86/lib/getuser_32.S index 8200fde55f5..2cc3ceee8f9 100644 --- a/arch/x86/lib/getuser_32.S +++ b/arch/x86/lib/getuser_32.S @@ -11,6 +11,7 @@ #include <linux/linkage.h> #include <asm/dwarf2.h> #include <asm/thread_info.h> +#include <asm/asm.h> /* @@ -28,10 +29,10 @@ .text ENTRY(__get_user_1) CFI_STARTPROC - GET_THREAD_INFO(%edx) - cmp TI_addr_limit(%edx),%eax + GET_THREAD_INFO(%_ASM_DX) + cmp TI_addr_limit(%_ASM_DX),%_ASM_AX jae bad_get_user -1: movzb (%eax),%edx +1: movzb (%_ASM_AX),%edx xor %eax,%eax ret CFI_ENDPROC @@ -39,12 +40,12 @@ ENDPROC(__get_user_1) ENTRY(__get_user_2) CFI_STARTPROC - add $1,%eax + add $1,%_ASM_AX jc bad_get_user - GET_THREAD_INFO(%edx) - cmp TI_addr_limit(%edx),%eax + GET_THREAD_INFO(%_ASM_DX) + cmp TI_addr_limit(%_ASM_DX),%_ASM_AX jae bad_get_user -2: movzwl -1(%eax),%edx +2: movzwl -1(%_ASM_AX),%edx xor %eax,%eax ret CFI_ENDPROC @@ -52,12 +53,12 @@ ENDPROC(__get_user_2) ENTRY(__get_user_4) CFI_STARTPROC - add $3,%eax + add $3,%_ASM_AX jc bad_get_user - GET_THREAD_INFO(%edx) - cmp TI_addr_limit(%edx),%eax + GET_THREAD_INFO(%_ASM_DX) + cmp TI_addr_limit(%_ASM_DX),%_ASM_AX jae bad_get_user -3: mov -3(%eax),%edx +3: mov -3(%_ASM_AX),%edx xor %eax,%eax ret CFI_ENDPROC @@ -66,7 +67,7 @@ ENDPROC(__get_user_4) bad_get_user: CFI_STARTPROC xor %edx,%edx - mov $-14,%eax + mov $-14,%_ASM_AX ret CFI_ENDPROC END(bad_get_user) |