Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cd975ae0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull c6x updates from Mark Salter:
 "Clean up some c6x Kconfig items and add support for Elf FDPIC loader."

* tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
  C6X: remove unused config items
  C6X: add support to build with BINFMT_ELF_FDPIC
  C6X: change main arch kbuild symbol
parents 881bcabb 8ff98b9c
Loading
Loading
Loading
Loading
+1 −13
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
# see Documentation/kbuild/kconfig-language.txt.
#

config TMS320C6X
config C6X
	def_bool y
	select CLKDEV_LOOKUP
	select GENERIC_IRQ_SHOW
@@ -19,24 +19,12 @@ config TMS320C6X
config MMU
	def_bool n

config ZONE_DMA
	def_bool y

config FPU
	def_bool n

config HIGHMEM
	def_bool n

config NUMA
	def_bool n

config RWSEM_GENERIC_SPINLOCK
	def_bool y

config RWSEM_XCHGADD_ALGORITHM
	def_bool n

config GENERIC_CALIBRATE_DELAY
	def_bool y

+13 −1
Original line number Diff line number Diff line
@@ -30,7 +30,19 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
 */
#define elf_check_arch(x) ((x)->e_machine == EM_TI_C6000)

#define elf_check_const_displacement(x) (1)
#define elf_check_fdpic(x) (1)
#define elf_check_const_displacement(x) (0)

#define ELF_FDPIC_PLAT_INIT(_regs, _exec_map, _interp_map, _dynamic_addr) \
do {								\
	_regs->b4	= (_exec_map);				\
	_regs->a6	= (_interp_map);			\
	_regs->b6	= (_dynamic_addr);			\
} while (0)

#define ELF_FDPIC_CORE_EFLAGS	0

#define ELF_CORE_COPY_FPREGS(...) 0 /* No FPU regs to copy */

/*
 * These are used to set parameters in the core dumps.
+4 −0
Original line number Diff line number Diff line
@@ -13,6 +13,10 @@

typedef struct {
	unsigned long		end_brk;
#ifdef CONFIG_BINFMT_ELF_FDPIC
	unsigned long	exec_fdpic_loadmap;
	unsigned long	interp_fdpic_loadmap;
#endif
} mm_context_t;

#endif /* _ASM_C6X_MMU_H */
+5 −0
Original line number Diff line number Diff line
@@ -97,6 +97,11 @@
#define PT_DP	   PT_B14  /* Data Segment Pointer (B14) */
#define PT_SP	   PT_B15  /* Stack Pointer (B15)  */

#define PTRACE_GETFDPIC		31	/* get the ELF fdpic loadmap address */

#define PTRACE_GETFDPIC_EXEC	0	/* [addr] request the executable loadmap */
#define PTRACE_GETFDPIC_INTERP	1	/* [addr] request the interpreter loadmap */

#ifndef __ASSEMBLY__

#ifdef _BIG_ENDIAN
+1 −1
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ config ARCH_BINFMT_ELF_RANDOMIZE_PIE
config BINFMT_ELF_FDPIC
	bool "Kernel support for FDPIC ELF binaries"
	default y
	depends on (FRV || BLACKFIN || (SUPERH32 && !MMU))
	depends on (FRV || BLACKFIN || (SUPERH32 && !MMU) || C6X)
	help
	  ELF FDPIC binaries are based on ELF, but allow the individual load
	  segments of a binary to be located in memory independently of each