summaryrefslogtreecommitdiff
path: root/arch/c6x/include/asm/mmu.h
diff options
context:
space:
mode:
authorMark Salter <msalter@redhat.com>2012-04-23 10:02:08 -0400
committerMark Salter <msalter@redhat.com>2012-05-15 09:17:34 -0400
commitfce244762775f662f5a278a05a6e494b6e4f2774 (patch)
tree4cc7c031181760963f73570c12cec1449011dbb8 /arch/c6x/include/asm/mmu.h
parent18d14704d66f651395a68c8a70c86f0a22bccb31 (diff)
C6X: add support to build with BINFMT_ELF_FDPIC
C6x userspace supports a shared library mechanism called DSBT for systems with no MMU. DSBT is similar to FDPIC in allowing shared text segments and private copies of data segments without an MMU. Both methods access data using a base register and offset. With FDPIC, the caller of an external function sets up the base register for the callee. With DSBT, the called function sets up its own base register. Other details differ but both userspaces need the same thing from the kernel loader: a map of where each ELF segment was loaded. The FDPIC loader already provides this, so DSBT just uses it. This patch enables BINFMT_ELF_FDPIC by default for C6X and provides the necessary architecture hooks for the generic loader. Signed-off-by: Mark Salter <msalter@redhat.com>
Diffstat (limited to 'arch/c6x/include/asm/mmu.h')
-rw-r--r--arch/c6x/include/asm/mmu.h4
1 files changed, 4 insertions, 0 deletions
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 @@
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 */