Skip to content

Commit

Permalink
Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-u…
Browse files Browse the repository at this point in the history
…pstreaming

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
  • Loading branch information
Linus Torvalds committed May 21, 2012
2 parents 881bcab + 8ff98b9 commit cd975ae
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 15 deletions.
14 changes: 1 addition & 13 deletions arch/c6x/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# see Documentation/kbuild/kconfig-language.txt.
#

config TMS320C6X
config C6X
def_bool y
select CLKDEV_LOOKUP
select GENERIC_IRQ_SHOW
Expand All @@ -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

Expand Down
14 changes: 13 additions & 1 deletion arch/c6x/include/asm/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 4 additions & 0 deletions arch/c6x/include/asm/mmu.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 changes: 5 additions & 0 deletions arch/c6x/include/asm/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion fs/Kconfig.binfmt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit cd975ae

Please sign in to comment.