diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-06-19 02:25:08 +0200 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-06-19 02:25:08 +0200 |
commit | 6ea24cf79e055f0a62a64baa8587e2254a493c7b (patch) | |
tree | c5cd6113ed93854b1bc30cd471c366f080c4be2f /arch/arm64/include/asm/assembler.h | |
parent | Input: xpad - fix rumble on Xbox One controllers with 2015 firmware (diff) | |
parent | Input: add HDMI CEC specific keycodes (diff) | |
download | linux-6ea24cf79e055f0a62a64baa8587e2254a493c7b.tar.xz linux-6ea24cf79e055f0a62a64baa8587e2254a493c7b.zip |
Merge branch 'cec-defines' into for-linus
Let's bring in HDMI CEC defines to ease merging CEC support in the next
merge window.
Diffstat (limited to 'arch/arm64/include/asm/assembler.h')
-rw-r--r-- | arch/arm64/include/asm/assembler.h | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/arch/arm64/include/asm/assembler.h b/arch/arm64/include/asm/assembler.h index bb7b72734c24..70f7b9e04598 100644 --- a/arch/arm64/include/asm/assembler.h +++ b/arch/arm64/include/asm/assembler.h @@ -94,12 +94,19 @@ dmb \opt .endm +/* + * Emit an entry into the exception table + */ + .macro _asm_extable, from, to + .pushsection __ex_table, "a" + .align 3 + .long (\from - .), (\to - .) + .popsection + .endm + #define USER(l, x...) \ 9999: x; \ - .section __ex_table,"a"; \ - .align 3; \ - .quad 9999b,l; \ - .previous + _asm_extable 9999b, l /* * Register aliases. @@ -215,4 +222,15 @@ lr .req x30 // link register .size __pi_##x, . - x; \ ENDPROC(x) + /* + * Emit a 64-bit absolute little endian symbol reference in a way that + * ensures that it will be resolved at build time, even when building a + * PIE binary. This requires cooperation from the linker script, which + * must emit the lo32/hi32 halves individually. + */ + .macro le64sym, sym + .long \sym\()_lo32 + .long \sym\()_hi32 + .endm + #endif /* __ASM_ASSEMBLER_H */ |