summaryrefslogtreecommitdiffstats
path: root/include/asm-ppc/elf.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2001-01-31 22:22:27 +0000
committerRalf Baechle <ralf@linux-mips.org>2001-01-31 22:22:27 +0000
commit825423e4c4f18289df2393951cfd2a7a31fc0464 (patch)
tree4ad80e981c3d9effa910d2247d118d254f9a5d09 /include/asm-ppc/elf.h
parentc4693dc4856ab907a5c02187a8d398861bebfc7e (diff)
Merge with Linux 2.4.1.
Diffstat (limited to 'include/asm-ppc/elf.h')
-rw-r--r--include/asm-ppc/elf.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/asm-ppc/elf.h b/include/asm-ppc/elf.h
index 6a0e2e874..85124797a 100644
--- a/include/asm-ppc/elf.h
+++ b/include/asm-ppc/elf.h
@@ -70,5 +70,24 @@ typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG];
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX)
+/*
+ * We need to put in some extra aux table entries to tell glibc what
+ * the cache block size is, so it can use the dcbz instruction safely.
+ */
+#define AT_DCACHEBSIZE 17
+#define AT_ICACHEBSIZE 18
+#define AT_UCACHEBSIZE 19
+
+extern int dcache_bsize;
+extern int icache_bsize;
+extern int ucache_bsize;
+
+#define DLINFO_EXTRA_ITEMS 3
+#define EXTRA_DLINFO do { \
+ NEW_AUX_ENT(0, AT_DCACHEBSIZE, dcache_bsize); \
+ NEW_AUX_ENT(1, AT_ICACHEBSIZE, icache_bsize); \
+ NEW_AUX_ENT(2, AT_UCACHEBSIZE, ucache_bsize); \
+} while (0)
+
#endif /* __KERNEL__ */
#endif