powerpc/mm: Move the STAB0 location to 0x8000 to make room in low memory
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>
This commit is contained in:
@@ -27,7 +27,7 @@
|
|||||||
#define STE_VSID_SHIFT 12
|
#define STE_VSID_SHIFT 12
|
||||||
|
|
||||||
/* Location of cpu0's segment table */
|
/* Location of cpu0's segment table */
|
||||||
#define STAB0_PAGE 0x6
|
#define STAB0_PAGE 0x8
|
||||||
#define STAB0_OFFSET (STAB0_PAGE << 12)
|
#define STAB0_OFFSET (STAB0_PAGE << 12)
|
||||||
#define STAB0_PHYS_ADDR (STAB0_OFFSET + PHYSICAL_START)
|
#define STAB0_PHYS_ADDR (STAB0_OFFSET + PHYSICAL_START)
|
||||||
|
|
||||||
|
@@ -977,20 +977,6 @@ _GLOBAL(do_stab_bolted)
|
|||||||
rfid
|
rfid
|
||||||
b . /* prevent speculative execution */
|
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
|
#ifdef CONFIG_PPC_PSERIES
|
||||||
/*
|
/*
|
||||||
* Data area reserved for FWNMI option.
|
* Data area reserved for FWNMI option.
|
||||||
@@ -1027,3 +1013,17 @@ xLparMap:
|
|||||||
#ifdef CONFIG_PPC_PSERIES
|
#ifdef CONFIG_PPC_PSERIES
|
||||||
. = 0x8000
|
. = 0x8000
|
||||||
#endif /* CONFIG_PPC_PSERIES */
|
#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
|
||||||
|
Reference in New Issue
Block a user