From: Hugh Dickins Extend the warning comment in kmap_types.h: if you add an odd number of new kmaps, KM_VSTACK0 becomes misaligned on odd numbered cpus. I've not added a corresponding BUG_ON to entry_trampoline.c, having an aversion to errors which trigger too early to be seen. We should do better, perhaps #error, or robustifying the layout; but for now just comment. include/asm-i386/kmap_types.h | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff -puN include/asm-i386/kmap_types.h~4g4g-kmap-warning-comments include/asm-i386/kmap_types.h --- 25/include/asm-i386/kmap_types.h~4g4g-kmap-warning-comments 2003-08-30 15:42:12.000000000 -0700 +++ 25-akpm/include/asm-i386/kmap_types.h 2003-08-30 15:42:12.000000000 -0700 @@ -5,8 +5,8 @@ enum km_type { /* - * IMPORTANT: dont move these 3 entries, the virtual stack - * must be 8K aligned. + * IMPORTANT: don't move these 3 entries, and only add entries in + * pairs: the 4G/4G virtual stack must be 8K aligned on each cpu. */ KM_BOUNCE_READ, KM_VSTACK1, @@ -29,6 +29,10 @@ enum km_type { KM_IRQ1, KM_SOFTIRQ0, KM_SOFTIRQ1, + /* + * Add new entries in pairs: + * the 4G/4G virtual stack must be 8K aligned on each cpu. + */ KM_TYPE_NR }; #endif _