mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 01:54:09 +08:00
powerpc: Move PPC_HA() PPC_HI() and PPC_LO() to ppc-opcode.h
PPC_HA() PPC_HI() and PPC_LO() macros are nice macros. Move them from module64.c to ppc-opcode.h in order to use them in other places. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> [mpe: Clean up formatting in new code, drop duplicates in ftrace.c] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
2fb0a2c989
commit
7f9c929a7f
@ -412,6 +412,15 @@
|
||||
#define __PPC_SPR(r) ((((r) & 0x1f) << 16) | ((((r) >> 5) & 0x1f) << 11))
|
||||
#define __PPC_RC21 (0x1 << 10)
|
||||
|
||||
/*
|
||||
* Both low and high 16 bits are added as SIGNED additions, so if low 16 bits
|
||||
* has high bit set, high 16 bits must be adjusted. These macros do that (stolen
|
||||
* from binutils).
|
||||
*/
|
||||
#define PPC_LO(v) ((v) & 0xffff)
|
||||
#define PPC_HI(v) (((v) >> 16) & 0xffff)
|
||||
#define PPC_HA(v) PPC_HI((v) + 0x8000)
|
||||
|
||||
/*
|
||||
* Only use the larx hint bit on 64bit CPUs. e500v1/v2 based CPUs will treat a
|
||||
* larx with EH set as an illegal instruction.
|
||||
|
@ -400,13 +400,6 @@ static inline unsigned long my_r2(const Elf64_Shdr *sechdrs, struct module *me)
|
||||
return (sechdrs[me->arch.toc_section].sh_addr & ~0xfful) + 0x8000;
|
||||
}
|
||||
|
||||
/* Both low and high 16 bits are added as SIGNED additions, so if low
|
||||
16 bits has high bit set, high 16 bits must be adjusted. These
|
||||
macros do that (stolen from binutils). */
|
||||
#define PPC_LO(v) ((v) & 0xffff)
|
||||
#define PPC_HI(v) (((v) >> 16) & 0xffff)
|
||||
#define PPC_HA(v) PPC_HI ((v) + 0x8000)
|
||||
|
||||
/* Patch stub to reference function and correct r2 value. */
|
||||
static inline int create_stub(const Elf64_Shdr *sechdrs,
|
||||
struct ppc64_stub_entry *entry,
|
||||
|
@ -866,10 +866,6 @@ void arch_ftrace_update_code(int command)
|
||||
#ifdef CONFIG_PPC64
|
||||
#define PACATOC offsetof(struct paca_struct, kernel_toc)
|
||||
|
||||
#define PPC_LO(v) ((v) & 0xffff)
|
||||
#define PPC_HI(v) (((v) >> 16) & 0xffff)
|
||||
#define PPC_HA(v) PPC_HI ((v) + 0x8000)
|
||||
|
||||
extern unsigned int ftrace_tramp_text[], ftrace_tramp_init[];
|
||||
|
||||
int __init ftrace_dyn_arch_init(void)
|
||||
|
Loading…
Reference in New Issue
Block a user