powerpc: Finalise cleanup around ABI use
Now that we have CONFIG_PPC64_ELF_ABI_V1 and CONFIG_PPC64_ELF_ABI_V2, get rid of all indirect detection of ABI version. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/709d9d69523c14c8a9fba4486395dca0f2d675b1.1652074503.git.christophe.leroy@csgroup.eu
This commit is contained in:
parent
7d40aff821
commit
5b89492c03
@ -208,7 +208,7 @@ config PPC
|
|||||||
select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU)
|
select HAVE_EFFICIENT_UNALIGNED_ACCESS if !(CPU_LITTLE_ENDIAN && POWER7_CPU)
|
||||||
select HAVE_FAST_GUP
|
select HAVE_FAST_GUP
|
||||||
select HAVE_FTRACE_MCOUNT_RECORD
|
select HAVE_FTRACE_MCOUNT_RECORD
|
||||||
select HAVE_FUNCTION_DESCRIPTORS if PPC64 && !CPU_LITTLE_ENDIAN
|
select HAVE_FUNCTION_DESCRIPTORS if PPC64_ELF_ABI_V1
|
||||||
select HAVE_FUNCTION_ERROR_INJECTION
|
select HAVE_FUNCTION_ERROR_INJECTION
|
||||||
select HAVE_FUNCTION_GRAPH_TRACER
|
select HAVE_FUNCTION_GRAPH_TRACER
|
||||||
select HAVE_FUNCTION_TRACER
|
select HAVE_FUNCTION_TRACER
|
||||||
|
@ -213,7 +213,7 @@ CHECKFLAGS += -m$(BITS) -D__powerpc__ -D__powerpc$(BITS)__
|
|||||||
ifdef CONFIG_CPU_BIG_ENDIAN
|
ifdef CONFIG_CPU_BIG_ENDIAN
|
||||||
CHECKFLAGS += -D__BIG_ENDIAN__
|
CHECKFLAGS += -D__BIG_ENDIAN__
|
||||||
else
|
else
|
||||||
CHECKFLAGS += -D__LITTLE_ENDIAN__ -D_CALL_ELF=2
|
CHECKFLAGS += -D__LITTLE_ENDIAN__
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_476FPE_ERR46
|
ifdef CONFIG_476FPE_ERR46
|
||||||
|
@ -11,14 +11,6 @@
|
|||||||
|
|
||||||
#include <uapi/asm/types.h>
|
#include <uapi/asm/types.h>
|
||||||
|
|
||||||
#ifdef __powerpc64__
|
|
||||||
#if defined(_CALL_ELF) && _CALL_ELF == 2
|
|
||||||
#define PPC64_ELF_ABI_v2 1
|
|
||||||
#else
|
|
||||||
#define PPC64_ELF_ABI_v1 1
|
|
||||||
#endif
|
|
||||||
#endif /* __powerpc64__ */
|
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
typedef __vector128 vector128;
|
typedef __vector128 vector128;
|
||||||
|
@ -978,11 +978,14 @@ static int fadump_init_elfcore_header(char *bufp)
|
|||||||
elf->e_entry = 0;
|
elf->e_entry = 0;
|
||||||
elf->e_phoff = sizeof(struct elfhdr);
|
elf->e_phoff = sizeof(struct elfhdr);
|
||||||
elf->e_shoff = 0;
|
elf->e_shoff = 0;
|
||||||
#if defined(_CALL_ELF)
|
|
||||||
elf->e_flags = _CALL_ELF;
|
if (IS_ENABLED(CONFIG_PPC64_ELF_ABI_V2))
|
||||||
#else
|
elf->e_flags = 2;
|
||||||
elf->e_flags = 0;
|
else if (IS_ENABLED(CONFIG_PPC64_ELF_ABI_V1))
|
||||||
#endif
|
elf->e_flags = 1;
|
||||||
|
else
|
||||||
|
elf->e_flags = 0;
|
||||||
|
|
||||||
elf->e_ehsize = sizeof(struct elfhdr);
|
elf->e_ehsize = sizeof(struct elfhdr);
|
||||||
elf->e_phentsize = sizeof(struct elf_phdr);
|
elf->e_phentsize = sizeof(struct elf_phdr);
|
||||||
elf->e_phnum = 0;
|
elf->e_phnum = 0;
|
||||||
|
@ -444,10 +444,4 @@ void __init pt_regs_check(void)
|
|||||||
* real registers.
|
* real registers.
|
||||||
*/
|
*/
|
||||||
BUILD_BUG_ON(PT_DSCR < sizeof(struct user_pt_regs) / sizeof(unsigned long));
|
BUILD_BUG_ON(PT_DSCR < sizeof(struct user_pt_regs) / sizeof(unsigned long));
|
||||||
|
|
||||||
#ifdef CONFIG_PPC64_ELF_ABI_V1
|
|
||||||
BUILD_BUG_ON(!IS_ENABLED(CONFIG_HAVE_FUNCTION_DESCRIPTORS));
|
|
||||||
#else
|
|
||||||
BUILD_BUG_ON(IS_ENABLED(CONFIG_HAVE_FUNCTION_DESCRIPTORS));
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
@ -126,7 +126,7 @@ void bpf_jit_build_prologue(u32 *image, struct codegen_context *ctx)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (__is_defined(CONFIG_PPC64_ELF_ABI_V2))
|
if (IS_ENABLED(CONFIG_PPC64_ELF_ABI_V2))
|
||||||
EMIT(PPC_RAW_LD(_R2, _R13, offsetof(struct paca_struct, kernel_toc)));
|
EMIT(PPC_RAW_LD(_R2, _R13, offsetof(struct paca_struct, kernel_toc)));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -266,7 +266,7 @@ static int bpf_jit_emit_tail_call(u32 *image, struct codegen_context *ctx, u32 o
|
|||||||
int b2p_index = bpf_to_ppc(BPF_REG_3);
|
int b2p_index = bpf_to_ppc(BPF_REG_3);
|
||||||
int bpf_tailcall_prologue_size = 8;
|
int bpf_tailcall_prologue_size = 8;
|
||||||
|
|
||||||
if (__is_defined(CONFIG_PPC64_ELF_ABI_V2))
|
if (IS_ENABLED(CONFIG_PPC64_ELF_ABI_V2))
|
||||||
bpf_tailcall_prologue_size += 4; /* skip past the toc load */
|
bpf_tailcall_prologue_size += 4; /* skip past the toc load */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user