From: Paul Mundt <lethal@Linux-SH.ORG>

The BYTES_PER_WORD assumption doesn't work out on sh64 when we are using a
32-bit ABI.  We want slab caches to be forced to a minimum alignment of
8-bytes, as it was before Anton's change.

This was also already discussed at length with Manfred in this thread:

	http://marc.theaimsgroup.com/?l=linux-kernel&m=110227138116749&w=2

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/include/asm-sh64/uaccess.h |    6 ++++++
 1 files changed, 6 insertions(+)

diff -puN include/asm-sh64/uaccess.h~sh64-align-slab-caches-on-an-8-byte-boundary include/asm-sh64/uaccess.h
--- 25/include/asm-sh64/uaccess.h~sh64-align-slab-caches-on-an-8-byte-boundary	2005-03-07 20:41:26.000000000 -0800
+++ 25-akpm/include/asm-sh64/uaccess.h	2005-03-07 20:41:26.000000000 -0800
@@ -313,6 +313,12 @@ struct exception_table_entry
    sh64 at the moment). */
 #define ARCH_KMALLOC_MINALIGN 8
 
+/*
+ * We want 8-byte alignment for the slab caches as well, otherwise we have
+ * the same BYTES_PER_WORD (sizeof(void *)) min align in kmem_cache_create().
+ */
+#define ARCH_SLAB_MINALIGN 8
+
 /* Returns 0 if exception not found and fixup.unit otherwise.  */
 extern unsigned long search_exception_table(unsigned long addr);
 extern const struct exception_table_entry *search_exception_tables (unsigned long addr);
_