aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/head_8xx.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/head_8xx.S')
-rw-r--r--arch/powerpc/kernel/head_8xx.S27
1 files changed, 11 insertions, 16 deletions
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S
index 901be47a02a9..f7458396cd7c 100644
--- a/arch/powerpc/kernel/head_8xx.S
+++ b/arch/powerpc/kernel/head_8xx.S
@@ -38,12 +38,9 @@
38#else 38#else
39#define DO_8xx_CPU6(val, reg) 39#define DO_8xx_CPU6(val, reg)
40#endif 40#endif
41 .text 41 .section .text.head, "ax"
42 .globl _stext 42_ENTRY(_stext);
43_stext: 43_ENTRY(_start);
44 .text
45 .globl _start
46_start:
47 44
48/* MPC8xx 45/* MPC8xx
49 * This port was done on an MBX board with an 860. Right now I only 46 * This port was done on an MBX board with an 860. Right now I only
@@ -301,6 +298,12 @@ InstructionTLBMiss:
301 stw r10, 0(r0) 298 stw r10, 0(r0)
302 stw r11, 4(r0) 299 stw r11, 4(r0)
303 mfspr r10, SPRN_SRR0 /* Get effective address of fault */ 300 mfspr r10, SPRN_SRR0 /* Get effective address of fault */
301#ifdef CONFIG_8xx_CPU15
302 addi r11, r10, 0x1000
303 tlbie r11
304 addi r11, r10, -0x1000
305 tlbie r11
306#endif
304 DO_8xx_CPU6(0x3780, r3) 307 DO_8xx_CPU6(0x3780, r3)
305 mtspr SPRN_MD_EPN, r10 /* Have to use MD_EPN for walk, MI_EPN can't */ 308 mtspr SPRN_MD_EPN, r10 /* Have to use MD_EPN for walk, MI_EPN can't */
306 mfspr r10, SPRN_M_TWB /* Get level 1 table entry address */ 309 mfspr r10, SPRN_M_TWB /* Get level 1 table entry address */
@@ -730,13 +733,13 @@ initial_mmu:
730 mtspr SPRN_MD_TWC, r9 733 mtspr SPRN_MD_TWC, r9
731 li r11, MI_BOOTINIT /* Create RPN for address 0 */ 734 li r11, MI_BOOTINIT /* Create RPN for address 0 */
732 addis r11, r11, 0x0080 /* Add 8M */ 735 addis r11, r11, 0x0080 /* Add 8M */
733 mtspr SPRN_MD_RPN, r8 736 mtspr SPRN_MD_RPN, r11
734 737
735 addis r8, r8, 0x0080 /* Add 8M */ 738 addis r8, r8, 0x0080 /* Add 8M */
736 mtspr SPRN_MD_EPN, r8 739 mtspr SPRN_MD_EPN, r8
737 mtspr SPRN_MD_TWC, r9 740 mtspr SPRN_MD_TWC, r9
738 addis r11, r11, 0x0080 /* Add 8M */ 741 addis r11, r11, 0x0080 /* Add 8M */
739 mtspr SPRN_MD_RPN, r8 742 mtspr SPRN_MD_RPN, r11
740#endif 743#endif
741 744
742 /* Since the cache is enabled according to the information we 745 /* Since the cache is enabled according to the information we
@@ -835,14 +838,6 @@ empty_zero_page:
835swapper_pg_dir: 838swapper_pg_dir:
836 .space 4096 839 .space 4096
837 840
838/*
839 * This space gets a copy of optional info passed to us by the bootstrap
840 * Used to pass parameters into the kernel like root=/dev/sda1, etc.
841 */
842 .globl cmd_line
843cmd_line:
844 .space 512
845
846/* Room for two PTE table poiners, usually the kernel and current user 841/* Room for two PTE table poiners, usually the kernel and current user
847 * pointer to their respective root page table (pgdir). 842 * pointer to their respective root page table (pgdir).
848 */ 843 */