Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e7682d0 authored by Catalin Marinas's avatar Catalin Marinas Committed by Russell King
Browse files

ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts



This macro is used to generate unprivileged accesses (LDRT/STRT) to user
space.

Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Acked-by: default avatarNicolas Pitre <nico@linaro.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent d68133b5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -237,7 +237,7 @@
 */
#ifdef CONFIG_THUMB2_KERNEL

	.macro	usraccoff, instr, reg, ptr, inc, off, cond, abort, t=T()
	.macro	usraccoff, instr, reg, ptr, inc, off, cond, abort, t=TUSER()
9999:
	.if	\inc == 1
	\instr\cond\()b\()\t\().w \reg, [\ptr, #\off]
@@ -277,7 +277,7 @@

#else	/* !CONFIG_THUMB2_KERNEL */

	.macro	usracc, instr, reg, ptr, inc, cond, rept, abort, t=T()
	.macro	usracc, instr, reg, ptr, inc, cond, rept, abort, t=TUSER()
	.rept	\rept
9999:
	.if	\inc == 1
+4 −4
Original line number Diff line number Diff line
@@ -83,9 +83,9 @@
 * instructions (inline assembly)
 */
#ifdef CONFIG_CPU_USE_DOMAINS
#define T(instr)	#instr "t"
#define TUSER(instr)	#instr "t"
#else
#define T(instr)	#instr
#define TUSER(instr)	#instr
#endif

#else /* __ASSEMBLY__ */
@@ -95,9 +95,9 @@
 * instructions
 */
#ifdef CONFIG_CPU_USE_DOMAINS
#define T(instr)	instr ## t
#define TUSER(instr)	instr ## t
#else
#define T(instr)	instr
#define TUSER(instr)	instr
#endif

#endif /* __ASSEMBLY__ */
+4 −4
Original line number Diff line number Diff line
@@ -75,9 +75,9 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,

#define __futex_atomic_op(insn, ret, oldval, tmp, uaddr, oparg)	\
	__asm__ __volatile__(					\
	"1:	" T(ldr) "	%1, [%3]\n"			\
	"1:	" TUSER(ldr) "	%1, [%3]\n"			\
	"	" insn "\n"					\
	"2:	" T(str) "	%0, [%3]\n"			\
	"2:	" TUSER(str) "	%0, [%3]\n"			\
	"	mov	%0, #0\n"				\
	__futex_atomic_ex_table("%5")				\
	: "=&r" (ret), "=&r" (oldval), "=&r" (tmp)		\
@@ -95,10 +95,10 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
		return -EFAULT;

	__asm__ __volatile__("@futex_atomic_cmpxchg_inatomic\n"
	"1:	" T(ldr) "	%1, [%4]\n"
	"1:	" TUSER(ldr) "	%1, [%4]\n"
	"	teq	%1, %2\n"
	"	it	eq	@ explicit IT needed for the 2b label\n"
	"2:	" T(streq) "	%3, [%4]\n"
	"2:	" TUSER(streq) "	%3, [%4]\n"
	__futex_atomic_ex_table("%5")
	: "+r" (ret), "=&r" (val)
	: "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
+8 −8
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ do { \

#define __get_user_asm_byte(x,addr,err)				\
	__asm__ __volatile__(					\
	"1:	" T(ldrb) "	%1,[%2],#0\n"			\
	"1:	" TUSER(ldrb) "	%1,[%2],#0\n"			\
	"2:\n"							\
	"	.pushsection .fixup,\"ax\"\n"			\
	"	.align	2\n"					\
@@ -263,7 +263,7 @@ do { \

#define __get_user_asm_word(x,addr,err)				\
	__asm__ __volatile__(					\
	"1:	" T(ldr) "	%1,[%2],#0\n"			\
	"1:	" TUSER(ldr) "	%1,[%2],#0\n"			\
	"2:\n"							\
	"	.pushsection .fixup,\"ax\"\n"			\
	"	.align	2\n"					\
@@ -308,7 +308,7 @@ do { \

#define __put_user_asm_byte(x,__pu_addr,err)			\
	__asm__ __volatile__(					\
	"1:	" T(strb) "	%1,[%2],#0\n"			\
	"1:	" TUSER(strb) "	%1,[%2],#0\n"			\
	"2:\n"							\
	"	.pushsection .fixup,\"ax\"\n"			\
	"	.align	2\n"					\
@@ -341,7 +341,7 @@ do { \

#define __put_user_asm_word(x,__pu_addr,err)			\
	__asm__ __volatile__(					\
	"1:	" T(str) "	%1,[%2],#0\n"			\
	"1:	" TUSER(str) "	%1,[%2],#0\n"			\
	"2:\n"							\
	"	.pushsection .fixup,\"ax\"\n"			\
	"	.align	2\n"					\
@@ -366,10 +366,10 @@ do { \

#define __put_user_asm_dword(x,__pu_addr,err)			\
	__asm__ __volatile__(					\
 ARM(	"1:	" T(str) "	" __reg_oper1 ", [%1], #4\n"	)	\
 ARM(	"2:	" T(str) "	" __reg_oper0 ", [%1]\n"	)	\
 THUMB(	"1:	" T(str) "	" __reg_oper1 ", [%1]\n"	)	\
 THUMB(	"2:	" T(str) "	" __reg_oper0 ", [%1, #4]\n"	)	\
 ARM(	"1:	" TUSER(str) "	" __reg_oper1 ", [%1], #4\n"	) \
 ARM(	"2:	" TUSER(str) "	" __reg_oper0 ", [%1]\n"	) \
 THUMB(	"1:	" TUSER(str) "	" __reg_oper1 ", [%1]\n"	) \
 THUMB(	"2:	" TUSER(str) "	" __reg_oper0 ", [%1, #4]\n"	) \
	"3:\n"							\
	"	.pushsection .fixup,\"ax\"\n"			\
	"	.align	2\n"					\
+6 −6
Original line number Diff line number Diff line
@@ -31,18 +31,18 @@
#include <asm/domain.h>

ENTRY(__get_user_1)
1:	T(ldrb)	r2, [r0]
1: TUSER(ldrb)	r2, [r0]
	mov	r0, #0
	mov	pc, lr
ENDPROC(__get_user_1)

ENTRY(__get_user_2)
#ifdef CONFIG_THUMB2_KERNEL
2:	T(ldrb)	r2, [r0]
3:	T(ldrb)	r3, [r0, #1]
2: TUSER(ldrb)	r2, [r0]
3: TUSER(ldrb)	r3, [r0, #1]
#else
2:	T(ldrb)	r2, [r0], #1
3:	T(ldrb)	r3, [r0]
2: TUSER(ldrb)	r2, [r0], #1
3: TUSER(ldrb)	r3, [r0]
#endif
#ifndef __ARMEB__
	orr	r2, r2, r3, lsl #8
@@ -54,7 +54,7 @@ ENTRY(__get_user_2)
ENDPROC(__get_user_2)

ENTRY(__get_user_4)
4:	T(ldr)	r2, [r0]
4: TUSER(ldr)	r2, [r0]
	mov	r0, #0
	mov	pc, lr
ENDPROC(__get_user_4)
Loading