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:
8c1f755
)
x86/asm: Add unwind hint annotations to sync_core()
author
Josh Poimboeuf
<
[email protected]
>
Tue, 11 Jul 2017 15:33:45 +0000
(10:33 -0500)
committer
Ingo Molnar
<
[email protected]
>
Tue, 18 Jul 2017 08:57:44 +0000
(10:57 +0200)
This enables objtool to grok the iret in the middle of a C function.
Signed-off-by: Josh Poimboeuf <
[email protected]
>
Cc: Andy Lutomirski <
[email protected]
>
Cc: Borislav Petkov <
[email protected]
>
Cc: Brian Gerst <
[email protected]
>
Cc: Denys Vlasenko <
[email protected]
>
Cc: H. Peter Anvin <
[email protected]
>
Cc: Jiri Slaby <
[email protected]
>
Cc: Linus Torvalds <
[email protected]
>
Cc: Mike Galbraith <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Thomas Gleixner <
[email protected]
>
Cc:
[email protected]
Link:
http://lkml.kernel.org/r/b057be26193c11d2ed3337b2107bc7adcba42c99.1499786555.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <
[email protected]
>
arch/x86/include/asm/processor.h
patch
|
blob
|
history
diff --git
a/arch/x86/include/asm/processor.h
b/arch/x86/include/asm/processor.h
index 6a79547e8ee01e06a84cc948f0d9a61002cdda82..b27dc9b4a1480f81abadb0ac65dcbdf521577890 100644
(file)
--- a/
arch/x86/include/asm/processor.h
+++ b/
arch/x86/include/asm/processor.h
@@
-22,6
+22,7
@@
struct vm86;
#include <asm/nops.h>
#include <asm/special_insns.h>
#include <asm/fpu/types.h>
+#include <asm/unwind_hints.h>
#include <linux/personality.h>
#include <linux/cache.h>
@@
-684,6
+685,7
@@
static inline void sync_core(void)
unsigned int tmp;
asm volatile (
+ UNWIND_HINT_SAVE
"mov %%ss, %0\n\t"
"pushq %q0\n\t"
"pushq %%rsp\n\t"
@@
-693,6
+695,7
@@
static inline void sync_core(void)
"pushq %q0\n\t"
"pushq $1f\n\t"
"iretq\n\t"
+ UNWIND_HINT_RESTORE
"1:"
: "=&r" (tmp), "+r" (__sp) : : "cc", "memory");
#endif