aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/head_32.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/head_32.S')
-rw-r--r--arch/powerpc/kernel/head_32.S29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index ccdf94731e30..fdd34dbd8797 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -153,6 +153,9 @@ __after_mmu_off:
153 bl flush_tlbs 153 bl flush_tlbs
154 154
155 bl initial_bats 155 bl initial_bats
156#if !defined(CONFIG_APUS) && defined(CONFIG_BOOTX_TEXT)
157 bl setup_disp_bat
158#endif
156 159
157/* 160/*
158 * Call setup_cpu for CPU 0 and initialize 6xx Idle 161 * Call setup_cpu for CPU 0 and initialize 6xx Idle
@@ -1306,6 +1309,32 @@ initial_bats:
1306 blr 1309 blr
1307 1310
1308 1311
1312#if !defined(CONFIG_APUS) && defined(CONFIG_BOOTX_TEXT)
1313setup_disp_bat:
1314 /*
1315 * setup the display bat prepared for us in prom.c
1316 */
1317 mflr r8
1318 bl reloc_offset
1319 mtlr r8
1320 addis r8,r3,disp_BAT@ha
1321 addi r8,r8,disp_BAT@l
1322 cmpwi cr0,r8,0
1323 beqlr
1324 lwz r11,0(r8)
1325 lwz r8,4(r8)
1326 mfspr r9,SPRN_PVR
1327 rlwinm r9,r9,16,16,31 /* r9 = 1 for 601, 4 for 604 */
1328 cmpwi 0,r9,1
1329 beq 1f
1330 mtspr SPRN_DBAT3L,r8
1331 mtspr SPRN_DBAT3U,r11
1332 blr
13331: mtspr SPRN_IBAT3L,r8
1334 mtspr SPRN_IBAT3U,r11
1335 blr
1336#endif /* !defined(CONFIG_APUS) && defined(CONFIG_BOOTX_TEXT) */
1337
1309#ifdef CONFIG_8260 1338#ifdef CONFIG_8260
1310/* Jump into the system reset for the rom. 1339/* Jump into the system reset for the rom.
1311 * We first disable the MMU, and then jump to the ROM reset address. 1340 * We first disable the MMU, and then jump to the ROM reset address.