diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-04-09 12:59:35 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-04-14 22:26:51 +0100 |
commit | 89c6bc5884e52ec004f03071f268ba3f27003aba (patch) | |
tree | 57a9a8f938fa1a986c794d07729408acf2af8dc3 /arch/arm/include | |
parent | 38e42f121601fc0640c032871a38efa5a59cff68 (diff) | |
download | linux-89c6bc5884e52ec004f03071f268ba3f27003aba.tar.gz linux-89c6bc5884e52ec004f03071f268ba3f27003aba.tar.bz2 linux-89c6bc5884e52ec004f03071f268ba3f27003aba.zip |
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>
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/assembler.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h index f67fd3afebdf..186270b3e194 100644 --- a/arch/arm/include/asm/assembler.h +++ b/arch/arm/include/asm/assembler.h @@ -237,6 +237,9 @@ .pushsection ".alt.smp.init", "a" ;\ .long 9998b ;\ 9997: instr ;\ + .if . - 9997b == 2 ;\ + nop ;\ + .endif ;\ .if . - 9997b != 4 ;\ .error "ALT_UP() content must assemble to exactly 4 bytes";\ .endif ;\ |