projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9fbcc57
)
x86/entry/64: Simplify ENCODE_FRAME_POINTER
author
Josh Poimboeuf
<
[email protected]
>
Wed, 21 Feb 2018 02:42:14 +0000
(20:42 -0600)
committer
Ingo Molnar
<
[email protected]
>
Wed, 21 Feb 2018 15:54:07 +0000
(16:54 +0100)
On 64-bit, the stack pointer is always aligned on interrupt, so instead
of setting the LSB of the pt_regs address, we can just add 1 to it.
Suggested-by: Linus Torvalds <
[email protected]
>
Signed-off-by: Josh Poimboeuf <
[email protected]
>
Cc: Andrew Lutomirski <
[email protected]
>
Cc: Brian Gerst <
[email protected]
>
Cc: Dan Williams <
[email protected]
>
Cc: Dominik Brodowski <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Thomas Gleixner <
[email protected]
>
Link:
http://lkml.kernel.org/r/20180221024214.lhl5jfgw33c4vz3m@treble
Signed-off-by: Ingo Molnar <
[email protected]
>
arch/x86/entry/calling.h
patch
|
blob
|
history
diff --git
a/arch/x86/entry/calling.h
b/arch/x86/entry/calling.h
index 5d10b7a85cadd303a0b47534f40494a99e942bb9..be63330c551129cb6bf0fcf07d8bf6d4600cb098 100644
(file)
--- a/
arch/x86/entry/calling.h
+++ b/
arch/x86/entry/calling.h
@@
-181,12
+181,7
@@
For 32-bit we have the following conventions - kernel is built with
*/
.macro ENCODE_FRAME_POINTER ptregs_offset=0
#ifdef CONFIG_FRAME_POINTER
- .if \ptregs_offset
- leaq \ptregs_offset(%rsp), %rbp
- .else
- mov %rsp, %rbp
- .endif
- orq $0x1, %rbp
+ leaq 1+\ptregs_offset(%rsp), %rbp
#endif
.endm