ARM: allow 16-bit instructions in ALT_UP()

Allow ALT_UP() to cope with a 16-bit Thumb instruction by automatically
inserting a following nop instruction.  This allows us to care less
about getting the assembler to emit a 32-bit thumb instruction.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Russell King 2015-04-09 12:59:35 +01:00
parent 38e42f1216
commit 89c6bc5884
1 changed files with 3 additions and 0 deletions

View File

@ -237,6 +237,9 @@
.pushsection ".alt.smp.init", "a" ;\ .pushsection ".alt.smp.init", "a" ;\
.long 9998b ;\ .long 9998b ;\
9997: instr ;\ 9997: instr ;\
.if . - 9997b == 2 ;\
nop ;\
.endif ;\
.if . - 9997b != 4 ;\ .if . - 9997b != 4 ;\
.error "ALT_UP() content must assemble to exactly 4 bytes";\ .error "ALT_UP() content must assemble to exactly 4 bytes";\
.endif ;\ .endif ;\