Thumb-2: Implement the unified arch/arm/mm support
This patch adds the ARM/Thumb-2 unified support to the arch/arm/mm/* files. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
@@ -159,7 +159,9 @@ union offset_union {
|
||||
|
||||
#define __get8_unaligned_check(ins,val,addr,err) \
|
||||
__asm__( \
|
||||
"1: "ins" %1, [%2], #1\n" \
|
||||
ARM( "1: "ins" %1, [%2], #1\n" ) \
|
||||
THUMB( "1: "ins" %1, [%2]\n" ) \
|
||||
THUMB( " add %2, %2, #1\n" ) \
|
||||
"2:\n" \
|
||||
" .section .fixup,\"ax\"\n" \
|
||||
" .align 2\n" \
|
||||
@@ -215,7 +217,9 @@ union offset_union {
|
||||
do { \
|
||||
unsigned int err = 0, v = val, a = addr; \
|
||||
__asm__( FIRST_BYTE_16 \
|
||||
"1: "ins" %1, [%2], #1\n" \
|
||||
ARM( "1: "ins" %1, [%2], #1\n" ) \
|
||||
THUMB( "1: "ins" %1, [%2]\n" ) \
|
||||
THUMB( " add %2, %2, #1\n" ) \
|
||||
" mov %1, %1, "NEXT_BYTE"\n" \
|
||||
"2: "ins" %1, [%2]\n" \
|
||||
"3:\n" \
|
||||
@@ -245,11 +249,17 @@ union offset_union {
|
||||
do { \
|
||||
unsigned int err = 0, v = val, a = addr; \
|
||||
__asm__( FIRST_BYTE_32 \
|
||||
"1: "ins" %1, [%2], #1\n" \
|
||||
ARM( "1: "ins" %1, [%2], #1\n" ) \
|
||||
THUMB( "1: "ins" %1, [%2]\n" ) \
|
||||
THUMB( " add %2, %2, #1\n" ) \
|
||||
" mov %1, %1, "NEXT_BYTE"\n" \
|
||||
"2: "ins" %1, [%2], #1\n" \
|
||||
ARM( "2: "ins" %1, [%2], #1\n" ) \
|
||||
THUMB( "2: "ins" %1, [%2]\n" ) \
|
||||
THUMB( " add %2, %2, #1\n" ) \
|
||||
" mov %1, %1, "NEXT_BYTE"\n" \
|
||||
"3: "ins" %1, [%2], #1\n" \
|
||||
ARM( "3: "ins" %1, [%2], #1\n" ) \
|
||||
THUMB( "3: "ins" %1, [%2]\n" ) \
|
||||
THUMB( " add %2, %2, #1\n" ) \
|
||||
" mov %1, %1, "NEXT_BYTE"\n" \
|
||||
"4: "ins" %1, [%2]\n" \
|
||||
"5:\n" \
|
||||
|
Reference in New Issue
Block a user