powerpc/64s: Refactor initialisation after prom
Move some basic Book3S initialisation after prom to a function similar to what Book3E looks like. Book3E returns from this function at the virtual address mapping, and Book3S will do the same in a later change, so making them look similar helps with that. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20230203113858.1152093-3-npiggin@gmail.com
This commit is contained in:
parent
26d53a9c89
commit
58f24eea52
1 changed files with 25 additions and 19 deletions
|
@ -475,8 +475,30 @@ SYM_FUNC_START_LOCAL(__mmu_off)
|
|||
rfid
|
||||
b . /* prevent speculative execution */
|
||||
SYM_FUNC_END(__mmu_off)
|
||||
#endif
|
||||
|
||||
start_initialization_book3s:
|
||||
mflr r25
|
||||
|
||||
/* Setup some critical 970 SPRs before switching MMU off */
|
||||
mfspr r0,SPRN_PVR
|
||||
srwi r0,r0,16
|
||||
cmpwi r0,0x39 /* 970 */
|
||||
beq 1f
|
||||
cmpwi r0,0x3c /* 970FX */
|
||||
beq 1f
|
||||
cmpwi r0,0x44 /* 970MP */
|
||||
beq 1f
|
||||
cmpwi r0,0x45 /* 970GX */
|
||||
bne 2f
|
||||
1: bl __cpu_preinit_ppc970
|
||||
2:
|
||||
|
||||
/* Switch off MMU if not already off */
|
||||
bl __mmu_off
|
||||
|
||||
mtlr r25
|
||||
blr
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Here is our main kernel entry point. We support currently 2 kind of entries
|
||||
|
@ -523,26 +545,10 @@ __start_initialization_multiplatform:
|
|||
|
||||
#ifdef CONFIG_PPC_BOOK3E_64
|
||||
bl start_initialization_book3e
|
||||
b __after_prom_start
|
||||
#else
|
||||
/* Setup some critical 970 SPRs before switching MMU off */
|
||||
mfspr r0,SPRN_PVR
|
||||
srwi r0,r0,16
|
||||
cmpwi r0,0x39 /* 970 */
|
||||
beq 1f
|
||||
cmpwi r0,0x3c /* 970FX */
|
||||
beq 1f
|
||||
cmpwi r0,0x44 /* 970MP */
|
||||
beq 1f
|
||||
cmpwi r0,0x45 /* 970GX */
|
||||
bne 2f
|
||||
1: bl __cpu_preinit_ppc970
|
||||
2:
|
||||
|
||||
/* Switch off MMU if not already off */
|
||||
bl __mmu_off
|
||||
b __after_prom_start
|
||||
bl start_initialization_book3s
|
||||
#endif /* CONFIG_PPC_BOOK3E_64 */
|
||||
b __after_prom_start
|
||||
|
||||
__REF
|
||||
__boot_from_prom:
|
||||
|
|
Loading…
Add table
Reference in a new issue