powerpc/mm: Move the STAB0 location to 0x8000 to make room in low memory
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Sun, 6 Mar 2011 18:09:07 +0000 (18:09 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 29 Mar 2011 23:44:20 +0000 (10:44 +1100)
Recent upstream builds with allmodconfig fail due to lack of space
between 0x3000 and 0x6000. We have a hard block at 0x7000 but we can
spare a page by moving the STAB0 from 0x6000 to 0x8000.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/include/asm/mmu-hash64.h
arch/powerpc/kernel/exceptions-64s.S

index acac35d5b382da579cd53061c089a88a7758bb2f..ae7b3efec8e5eb129d6ba81673f8e8a011b38be7 100644 (file)
@@ -27,7 +27,7 @@
 #define STE_VSID_SHIFT 12
 
 /* Location of cpu0's segment table */
-#define STAB0_PAGE     0x6
+#define STAB0_PAGE     0x8
 #define STAB0_OFFSET   (STAB0_PAGE << 12)
 #define STAB0_PHYS_ADDR        (STAB0_OFFSET + PHYSICAL_START)
 
index 8a817995b4cda9614b9d1da47efbae5e6dcb72f2..c532cb2c927a1b7e83b9e20d3f9d5e9499450d04 100644 (file)
@@ -977,20 +977,6 @@ _GLOBAL(do_stab_bolted)
        rfid
        b       .       /* prevent speculative execution */
 
-/*
- * Space for CPU0's segment table.
- *
- * On iSeries, the hypervisor must fill in at least one entry before
- * we get control (with relocate on).  The address is given to the hv
- * as a page number (see xLparMap below), so this must be at a
- * fixed address (the linker can't compute (u64)&initial_stab >>
- * PAGE_SHIFT).
- */
-       . = STAB0_OFFSET        /* 0x6000 */
-       .globl initial_stab
-initial_stab:
-       .space  4096
-
 #ifdef CONFIG_PPC_PSERIES
 /*
  * Data area reserved for FWNMI option.
@@ -1027,3 +1013,17 @@ xLparMap:
 #ifdef CONFIG_PPC_PSERIES
         . = 0x8000
 #endif /* CONFIG_PPC_PSERIES */
+
+/*
+ * Space for CPU0's segment table.
+ *
+ * On iSeries, the hypervisor must fill in at least one entry before
+ * we get control (with relocate on).  The address is given to the hv
+ * as a page number (see xLparMap above), so this must be at a
+ * fixed address (the linker can't compute (u64)&initial_stab >>
+ * PAGE_SHIFT).
+ */
+       . = STAB0_OFFSET        /* 0x8000 */
+       .globl initial_stab
+initial_stab:
+       .space  4096