aboutsummaryrefslogtreecommitdiffstats
path: root/arch/c6x
diff options
context:
space:
mode:
Diffstat (limited to 'arch/c6x')
-rw-r--r--arch/c6x/Kconfig14
-rw-r--r--arch/c6x/include/asm/elf.h14
-rw-r--r--arch/c6x/include/asm/mmu.h4
-rw-r--r--arch/c6x/include/asm/ptrace.h5
4 files changed, 23 insertions, 14 deletions
diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig
index 1c3ccd416d50..1f15b88b537f 100644
--- a/arch/c6x/Kconfig
+++ b/arch/c6x/Kconfig
@@ -3,7 +3,7 @@
3# see Documentation/kbuild/kconfig-language.txt. 3# see Documentation/kbuild/kconfig-language.txt.
4# 4#
5 5
6config TMS320C6X 6config C6X
7 def_bool y 7 def_bool y
8 select CLKDEV_LOOKUP 8 select CLKDEV_LOOKUP
9 select GENERIC_IRQ_SHOW 9 select GENERIC_IRQ_SHOW
@@ -19,24 +19,12 @@ config TMS320C6X
19config MMU 19config MMU
20 def_bool n 20 def_bool n
21 21
22config ZONE_DMA
23 def_bool y
24
25config FPU 22config FPU
26 def_bool n 23 def_bool n
27 24
28config HIGHMEM
29 def_bool n
30
31config NUMA
32 def_bool n
33
34config RWSEM_GENERIC_SPINLOCK 25config RWSEM_GENERIC_SPINLOCK
35 def_bool y 26 def_bool y
36 27
37config RWSEM_XCHGADD_ALGORITHM
38 def_bool n
39
40config GENERIC_CALIBRATE_DELAY 28config GENERIC_CALIBRATE_DELAY
41 def_bool y 29 def_bool y
42 30
diff --git a/arch/c6x/include/asm/elf.h b/arch/c6x/include/asm/elf.h
index d57865ba2c44..f4552db20b4a 100644
--- a/arch/c6x/include/asm/elf.h
+++ b/arch/c6x/include/asm/elf.h
@@ -30,7 +30,19 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
30 */ 30 */
31#define elf_check_arch(x) ((x)->e_machine == EM_TI_C6000) 31#define elf_check_arch(x) ((x)->e_machine == EM_TI_C6000)
32 32
33#define elf_check_const_displacement(x) (1) 33#define elf_check_fdpic(x) (1)
34#define elf_check_const_displacement(x) (0)
35
36#define ELF_FDPIC_PLAT_INIT(_regs, _exec_map, _interp_map, _dynamic_addr) \
37do { \
38 _regs->b4 = (_exec_map); \
39 _regs->a6 = (_interp_map); \
40 _regs->b6 = (_dynamic_addr); \
41} while (0)
42
43#define ELF_FDPIC_CORE_EFLAGS 0
44
45#define ELF_CORE_COPY_FPREGS(...) 0 /* No FPU regs to copy */
34 46
35/* 47/*
36 * These are used to set parameters in the core dumps. 48 * These are used to set parameters in the core dumps.
diff --git a/arch/c6x/include/asm/mmu.h b/arch/c6x/include/asm/mmu.h
index 41592bf16067..4467e770a1ce 100644
--- a/arch/c6x/include/asm/mmu.h
+++ b/arch/c6x/include/asm/mmu.h
@@ -13,6 +13,10 @@
13 13
14typedef struct { 14typedef struct {
15 unsigned long end_brk; 15 unsigned long end_brk;
16#ifdef CONFIG_BINFMT_ELF_FDPIC
17 unsigned long exec_fdpic_loadmap;
18 unsigned long interp_fdpic_loadmap;
19#endif
16} mm_context_t; 20} mm_context_t;
17 21
18#endif /* _ASM_C6X_MMU_H */ 22#endif /* _ASM_C6X_MMU_H */
diff --git a/arch/c6x/include/asm/ptrace.h b/arch/c6x/include/asm/ptrace.h
index 21e8d7931fe7..b04ff5964258 100644
--- a/arch/c6x/include/asm/ptrace.h
+++ b/arch/c6x/include/asm/ptrace.h
@@ -97,6 +97,11 @@
97#define PT_DP PT_B14 /* Data Segment Pointer (B14) */ 97#define PT_DP PT_B14 /* Data Segment Pointer (B14) */
98#define PT_SP PT_B15 /* Stack Pointer (B15) */ 98#define PT_SP PT_B15 /* Stack Pointer (B15) */
99 99
100#define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */
101
102#define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */
103#define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */
104
100#ifndef __ASSEMBLY__ 105#ifndef __ASSEMBLY__
101 106
102#ifdef _BIG_ENDIAN 107#ifdef _BIG_ENDIAN