diff options
author | David S. Miller <davem@davemloft.net> | 2020-09-23 02:45:34 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-09-23 02:45:34 +0300 |
commit | 3ab0a7a0c349a1d7beb2bb371a62669d1528269d (patch) | |
tree | d2ae17c3bfc829ce0c747ad97021cd4bc8fb11dc /arch/x86/include/asm/frame.h | |
parent | 92ec804f3dbf0d986f8e10850bfff14f316d7aaf (diff) | |
parent | 805c6d3c19210c90c109107d189744e960eae025 (diff) | |
download | linux-3ab0a7a0c349a1d7beb2bb371a62669d1528269d.tar.xz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Two minor conflicts:
1) net/ipv4/route.c, adding a new local variable while
moving another local variable and removing it's
initial assignment.
2) drivers/net/dsa/microchip/ksz9477.c, overlapping changes.
One pretty prints the port mode differently, whilst another
changes the driver to try and obtain the port mode from
the port node rather than the switch node.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/x86/include/asm/frame.h')
-rw-r--r-- | arch/x86/include/asm/frame.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/x86/include/asm/frame.h b/arch/x86/include/asm/frame.h index 296b346184b2..fb42659f6e98 100644 --- a/arch/x86/include/asm/frame.h +++ b/arch/x86/include/asm/frame.h @@ -60,12 +60,26 @@ #define FRAME_END "pop %" _ASM_BP "\n" #ifdef CONFIG_X86_64 + #define ENCODE_FRAME_POINTER \ "lea 1(%rsp), %rbp\n\t" + +static inline unsigned long encode_frame_pointer(struct pt_regs *regs) +{ + return (unsigned long)regs + 1; +} + #else /* !CONFIG_X86_64 */ + #define ENCODE_FRAME_POINTER \ "movl %esp, %ebp\n\t" \ "andl $0x7fffffff, %ebp\n\t" + +static inline unsigned long encode_frame_pointer(struct pt_regs *regs) +{ + return (unsigned long)regs & 0x7fffffff; +} + #endif /* CONFIG_X86_64 */ #endif /* __ASSEMBLY__ */ @@ -83,6 +97,11 @@ #define ENCODE_FRAME_POINTER +static inline unsigned long encode_frame_pointer(struct pt_regs *regs) +{ + return 0; +} + #endif #define FRAME_BEGIN |