patch-2.4.1 linux/include/asm-ppc/elf.h

Next file: linux/include/asm-ppc/feature.h
Previous file: linux/include/asm-ppc/dma.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0/linux/include/asm-ppc/elf.h linux/include/asm-ppc/elf.h
@@ -70,5 +70,24 @@
 
 #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

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)