diff options
Diffstat (limited to 'arch/powerpc/kernel/head_8xx.S')
| -rw-r--r-- | arch/powerpc/kernel/head_8xx.S | 25 | 
1 files changed, 9 insertions, 16 deletions
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 1f1a04b5c2a..7ee876d2adb 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S @@ -29,6 +29,7 @@  #include <asm/thread_info.h>  #include <asm/ppc_asm.h>  #include <asm/asm-offsets.h> +#include <asm/ptrace.h>  /* Macro to make the code more readable. */  #ifdef CONFIG_8xx_CPU6 @@ -75,11 +76,7 @@ _ENTRY(_start);   */  	.globl	__start  __start: -	mr	r31,r3			/* save parameters */ -	mr	r30,r4 -	mr	r29,r5 -	mr	r28,r6 -	mr	r27,r7 +	mr	r31,r3			/* save device tree ptr */  	/* We have to turn on the MMU right away so we get cache modes  	 * set correctly. @@ -223,7 +220,7 @@ DataAccess:  	mfspr	r4,SPRN_DAR  	li	r10,0x00f0  	mtspr	SPRN_DAR,r10	/* Tag DAR, to be used in DTLB Error */ -	EXC_XFER_EE_LITE(0x300, handle_page_fault) +	EXC_XFER_LITE(0x300, handle_page_fault)  /* Instruction access exception.   * This is "never generated" by the MPC8xx.  We jump to it for other @@ -234,7 +231,7 @@ InstructionAccess:  	EXCEPTION_PROLOG  	mr	r4,r12  	mr	r5,r9 -	EXC_XFER_EE_LITE(0x400, handle_page_fault) +	EXC_XFER_LITE(0x400, handle_page_fault)  /* External interrupt */  	EXCEPTION(0x500, HardwareInterrupt, do_IRQ, EXC_XFER_LITE) @@ -694,10 +691,6 @@ modified_instr:  	b	151b  #endif -	.globl	giveup_fpu -giveup_fpu: -	blr -  /*   * This is where the main kernel code starts.   */ @@ -722,11 +715,8 @@ start_here:  /*   * Decide what sort of machine this is and initialize the MMU.   */ -	mr	r3,r31 -	mr	r4,r30 -	mr	r5,r29 -	mr	r6,r28 -	mr	r7,r27 +	li	r3,0 +	mr	r4,r31  	bl	machine_init  	bl	MMU_init @@ -868,6 +858,9 @@ initial_mmu:  	addis	r11, r11, 0x0080	/* Add 8M */  	mtspr	SPRN_MD_RPN, r11 +	addi	r10, r10, 0x0100 +	mtspr	SPRN_MD_CTR, r10 +  	addis	r8, r8, 0x0080		/* Add 8M */  	mtspr	SPRN_MD_EPN, r8  	mtspr	SPRN_MD_TWC, r9  | 
