diff options
Diffstat (limited to 'arch/arm/mm/alignment.c')
-rw-r--r-- | arch/arm/mm/alignment.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c index 03cd27d917b9..b270d6228fe2 100644 --- a/arch/arm/mm/alignment.c +++ b/arch/arm/mm/alignment.c | |||
@@ -159,7 +159,9 @@ union offset_union { | |||
159 | 159 | ||
160 | #define __get8_unaligned_check(ins,val,addr,err) \ | 160 | #define __get8_unaligned_check(ins,val,addr,err) \ |
161 | __asm__( \ | 161 | __asm__( \ |
162 | "1: "ins" %1, [%2], #1\n" \ | 162 | ARM( "1: "ins" %1, [%2], #1\n" ) \ |
163 | THUMB( "1: "ins" %1, [%2]\n" ) \ | ||
164 | THUMB( " add %2, %2, #1\n" ) \ | ||
163 | "2:\n" \ | 165 | "2:\n" \ |
164 | " .section .fixup,\"ax\"\n" \ | 166 | " .section .fixup,\"ax\"\n" \ |
165 | " .align 2\n" \ | 167 | " .align 2\n" \ |
@@ -215,7 +217,9 @@ union offset_union { | |||
215 | do { \ | 217 | do { \ |
216 | unsigned int err = 0, v = val, a = addr; \ | 218 | unsigned int err = 0, v = val, a = addr; \ |
217 | __asm__( FIRST_BYTE_16 \ | 219 | __asm__( FIRST_BYTE_16 \ |
218 | "1: "ins" %1, [%2], #1\n" \ | 220 | ARM( "1: "ins" %1, [%2], #1\n" ) \ |
221 | THUMB( "1: "ins" %1, [%2]\n" ) \ | ||
222 | THUMB( " add %2, %2, #1\n" ) \ | ||
219 | " mov %1, %1, "NEXT_BYTE"\n" \ | 223 | " mov %1, %1, "NEXT_BYTE"\n" \ |
220 | "2: "ins" %1, [%2]\n" \ | 224 | "2: "ins" %1, [%2]\n" \ |
221 | "3:\n" \ | 225 | "3:\n" \ |
@@ -245,11 +249,17 @@ union offset_union { | |||
245 | do { \ | 249 | do { \ |
246 | unsigned int err = 0, v = val, a = addr; \ | 250 | unsigned int err = 0, v = val, a = addr; \ |
247 | __asm__( FIRST_BYTE_32 \ | 251 | __asm__( FIRST_BYTE_32 \ |
248 | "1: "ins" %1, [%2], #1\n" \ | 252 | ARM( "1: "ins" %1, [%2], #1\n" ) \ |
253 | THUMB( "1: "ins" %1, [%2]\n" ) \ | ||
254 | THUMB( " add %2, %2, #1\n" ) \ | ||
249 | " mov %1, %1, "NEXT_BYTE"\n" \ | 255 | " mov %1, %1, "NEXT_BYTE"\n" \ |
250 | "2: "ins" %1, [%2], #1\n" \ | 256 | ARM( "2: "ins" %1, [%2], #1\n" ) \ |
257 | THUMB( "2: "ins" %1, [%2]\n" ) \ | ||
258 | THUMB( " add %2, %2, #1\n" ) \ | ||
251 | " mov %1, %1, "NEXT_BYTE"\n" \ | 259 | " mov %1, %1, "NEXT_BYTE"\n" \ |
252 | "3: "ins" %1, [%2], #1\n" \ | 260 | ARM( "3: "ins" %1, [%2], #1\n" ) \ |
261 | THUMB( "3: "ins" %1, [%2]\n" ) \ | ||
262 | THUMB( " add %2, %2, #1\n" ) \ | ||
253 | " mov %1, %1, "NEXT_BYTE"\n" \ | 263 | " mov %1, %1, "NEXT_BYTE"\n" \ |
254 | "4: "ins" %1, [%2]\n" \ | 264 | "4: "ins" %1, [%2]\n" \ |
255 | "5:\n" \ | 265 | "5:\n" \ |