Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc1c1ca3 authored by Stephen Rothwell's avatar Stephen Rothwell
Browse files

powerpc: merge idle_power4.S and trapc.s



Use idle_power4.S from ppc64 as we are not going to support
32 bit power4 in the merged tree.

Merge ppc64 traps.c into powerpc traps.c:
	use ppc64 versions of exception routine names
		(as they don't have StudlyCaps)
	make all the versions if die() have the same
		prototype

Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
parent d96024c6
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -142,8 +142,8 @@ config POWER4
	def_bool y
	def_bool y


config PPC_FPU
config PPC_FPU
	bool
	depends on PPC32
	default y if PPC64
	def_bool y


config BOOKE
config BOOKE
	bool
	bool
+42 −42
Original line number Original line Diff line number Diff line
@@ -349,12 +349,12 @@ i##n: \


/* System reset */
/* System reset */
/* core99 pmac starts the seconary here by changing the vector, and
/* core99 pmac starts the seconary here by changing the vector, and
   putting it back to what it was (UnknownException) when done.  */
   putting it back to what it was (unknown_exception) when done.  */
#if defined(CONFIG_GEMINI) && defined(CONFIG_SMP)
#if defined(CONFIG_GEMINI) && defined(CONFIG_SMP)
	. = 0x100
	. = 0x100
	b	__secondary_start_gemini
	b	__secondary_start_gemini
#else
#else
	EXCEPTION(0x100, Reset, UnknownException, EXC_XFER_STD)
	EXCEPTION(0x100, Reset, unknown_exception, EXC_XFER_STD)
#endif
#endif


/* Machine check */
/* Machine check */
@@ -389,7 +389,7 @@ i##n: \
	cmpwi	cr1,r4,0
	cmpwi	cr1,r4,0
	bne	cr1,1f
	bne	cr1,1f
#endif
#endif
	EXC_XFER_STD(0x200, MachineCheckException)
	EXC_XFER_STD(0x200, machine_check_exception)
#ifdef CONFIG_PPC_CHRP
#ifdef CONFIG_PPC_CHRP
1:	b	machine_check_in_rtas
1:	b	machine_check_in_rtas
#endif
#endif
@@ -456,10 +456,10 @@ Alignment:
	mfspr	r5,SPRN_DSISR
	mfspr	r5,SPRN_DSISR
	stw	r5,_DSISR(r11)
	stw	r5,_DSISR(r11)
	addi	r3,r1,STACK_FRAME_OVERHEAD
	addi	r3,r1,STACK_FRAME_OVERHEAD
	EXC_XFER_EE(0x600, AlignmentException)
	EXC_XFER_EE(0x600, alignment_exception)


/* Program check exception */
/* Program check exception */
	EXCEPTION(0x700, ProgramCheck, ProgramCheckException, EXC_XFER_STD)
	EXCEPTION(0x700, ProgramCheck, program_check_exception, EXC_XFER_STD)


/* Floating-point unavailable */
/* Floating-point unavailable */
	. = 0x800
	. = 0x800
@@ -472,8 +472,8 @@ FPUnavailable:
/* Decrementer */
/* Decrementer */
	EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE)
	EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE)


	EXCEPTION(0xa00, Trap_0a, UnknownException, EXC_XFER_EE)
	EXCEPTION(0xa00, Trap_0a, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0xb00, Trap_0b, UnknownException, EXC_XFER_EE)
	EXCEPTION(0xb00, Trap_0b, unknown_exception, EXC_XFER_EE)


/* System call */
/* System call */
	. = 0xc00
	. = 0xc00
@@ -482,8 +482,8 @@ SystemCall:
	EXC_XFER_EE_LITE(0xc00, DoSyscall)
	EXC_XFER_EE_LITE(0xc00, DoSyscall)


/* Single step - not used on 601 */
/* Single step - not used on 601 */
	EXCEPTION(0xd00, SingleStep, SingleStepException, EXC_XFER_STD)
	EXCEPTION(0xd00, SingleStep, single_step_exception, EXC_XFER_STD)
	EXCEPTION(0xe00, Trap_0e, UnknownException, EXC_XFER_EE)
	EXCEPTION(0xe00, Trap_0e, unknown_exception, EXC_XFER_EE)


/*
/*
 * The Altivec unavailable trap is at 0x0f20.  Foo.
 * The Altivec unavailable trap is at 0x0f20.  Foo.
@@ -502,7 +502,7 @@ SystemCall:
Trap_0f:
Trap_0f:
	EXCEPTION_PROLOG
	EXCEPTION_PROLOG
	addi	r3,r1,STACK_FRAME_OVERHEAD
	addi	r3,r1,STACK_FRAME_OVERHEAD
	EXC_XFER_EE(0xf00, UnknownException)
	EXC_XFER_EE(0xf00, unknown_exception)


/*
/*
 * Handle TLB miss for instruction on 603/603e.
 * Handle TLB miss for instruction on 603/603e.
@@ -702,44 +702,44 @@ DataStoreTLBMiss:
	rfi
	rfi


#ifndef CONFIG_ALTIVEC
#ifndef CONFIG_ALTIVEC
#define AltivecAssistException	UnknownException
#define altivec_assist_exception	unknown_exception
#endif
#endif


	EXCEPTION(0x1300, Trap_13, InstructionBreakpoint, EXC_XFER_EE)
	EXCEPTION(0x1300, Trap_13, instruction_breakpoint_exception, EXC_XFER_EE)
	EXCEPTION(0x1400, SMI, SMIException, EXC_XFER_EE)
	EXCEPTION(0x1400, SMI, SMIException, EXC_XFER_EE)
	EXCEPTION(0x1500, Trap_15, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1500, Trap_15, unknown_exception, EXC_XFER_EE)
#ifdef CONFIG_POWER4
#ifdef CONFIG_POWER4
	EXCEPTION(0x1600, Trap_16, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1600, Trap_16, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1700, Trap_17, AltivecAssistException, EXC_XFER_EE)
	EXCEPTION(0x1700, Trap_17, altivec_assist_exception, EXC_XFER_EE)
	EXCEPTION(0x1800, Trap_18, TAUException, EXC_XFER_STD)
	EXCEPTION(0x1800, Trap_18, TAUException, EXC_XFER_STD)
#else /* !CONFIG_POWER4 */
#else /* !CONFIG_POWER4 */
	EXCEPTION(0x1600, Trap_16, AltivecAssistException, EXC_XFER_EE)
	EXCEPTION(0x1600, Trap_16, altivec_assist_exception, EXC_XFER_EE)
	EXCEPTION(0x1700, Trap_17, TAUException, EXC_XFER_STD)
	EXCEPTION(0x1700, Trap_17, TAUException, EXC_XFER_STD)
	EXCEPTION(0x1800, Trap_18, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1800, Trap_18, unknown_exception, EXC_XFER_EE)
#endif /* CONFIG_POWER4 */
#endif /* CONFIG_POWER4 */
	EXCEPTION(0x1900, Trap_19, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1900, Trap_19, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1a00, Trap_1a, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1a00, Trap_1a, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1b00, Trap_1b, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1b00, Trap_1b, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1c00, Trap_1c, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1c00, Trap_1c, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1d00, Trap_1d, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1d00, Trap_1d, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1e00, Trap_1e, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1e00, Trap_1e, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1f00, Trap_1f, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1f00, Trap_1f, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2000, RunMode, RunModeException, EXC_XFER_EE)
	EXCEPTION(0x2000, RunMode, RunModeException, EXC_XFER_EE)
	EXCEPTION(0x2100, Trap_21, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2100, Trap_21, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2200, Trap_22, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2200, Trap_22, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2300, Trap_23, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2300, Trap_23, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2400, Trap_24, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2400, Trap_24, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2500, Trap_25, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2500, Trap_25, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2600, Trap_26, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2600, Trap_26, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2700, Trap_27, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2700, Trap_27, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2800, Trap_28, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2800, Trap_28, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2900, Trap_29, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2900, Trap_29, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2a00, Trap_2a, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2a00, Trap_2a, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2b00, Trap_2b, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2b00, Trap_2b, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2c00, Trap_2c, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2c00, Trap_2c, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2d00, Trap_2d, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2d00, Trap_2d, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2e00, Trap_2e, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2e00, Trap_2e, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x2f00, MOLTrampoline, UnknownException, EXC_XFER_EE_LITE)
	EXCEPTION(0x2f00, MOLTrampoline, unknown_exception, EXC_XFER_EE_LITE)


	.globl mol_trampoline
	.globl mol_trampoline
	.set mol_trampoline, i0x2f00
	.set mol_trampoline, i0x2f00
@@ -751,7 +751,7 @@ AltiVecUnavailable:
#ifdef CONFIG_ALTIVEC
#ifdef CONFIG_ALTIVEC
	bne	load_up_altivec		/* if from user, just load it up */
	bne	load_up_altivec		/* if from user, just load it up */
#endif /* CONFIG_ALTIVEC */
#endif /* CONFIG_ALTIVEC */
	EXC_XFER_EE_LITE(0xf20, AltivecUnavailException)
	EXC_XFER_EE_LITE(0xf20, altivec_unavailable_exception)


#ifdef CONFIG_PPC64BRIDGE
#ifdef CONFIG_PPC64BRIDGE
DataAccess:
DataAccess:
@@ -767,12 +767,12 @@ DataSegment:
	addi	r3,r1,STACK_FRAME_OVERHEAD
	addi	r3,r1,STACK_FRAME_OVERHEAD
	mfspr	r4,SPRN_DAR
	mfspr	r4,SPRN_DAR
	stw	r4,_DAR(r11)
	stw	r4,_DAR(r11)
	EXC_XFER_STD(0x380, UnknownException)
	EXC_XFER_STD(0x380, unknown_exception)


InstructionSegment:
InstructionSegment:
	EXCEPTION_PROLOG
	EXCEPTION_PROLOG
	addi	r3,r1,STACK_FRAME_OVERHEAD
	addi	r3,r1,STACK_FRAME_OVERHEAD
	EXC_XFER_STD(0x480, UnknownException)
	EXC_XFER_STD(0x480, unknown_exception)
#endif /* CONFIG_PPC64BRIDGE */
#endif /* CONFIG_PPC64BRIDGE */


#ifdef CONFIG_ALTIVEC
#ifdef CONFIG_ALTIVEC
+7 −7
Original line number Original line Diff line number Diff line
@@ -309,13 +309,13 @@ skpinv: addi r4,r4,1 /* Increment */


interrupt_base:
interrupt_base:
	/* Critical Input Interrupt */
	/* Critical Input Interrupt */
	CRITICAL_EXCEPTION(0x0100, CriticalInput, UnknownException)
	CRITICAL_EXCEPTION(0x0100, CriticalInput, unknown_exception)


	/* Machine Check Interrupt */
	/* Machine Check Interrupt */
#ifdef CONFIG_440A
#ifdef CONFIG_440A
	MCHECK_EXCEPTION(0x0200, MachineCheck, MachineCheckException)
	MCHECK_EXCEPTION(0x0200, MachineCheck, machine_check_exception)
#else
#else
	CRITICAL_EXCEPTION(0x0200, MachineCheck, MachineCheckException)
	CRITICAL_EXCEPTION(0x0200, MachineCheck, machine_check_exception)
#endif
#endif


	/* Data Storage Interrupt */
	/* Data Storage Interrupt */
@@ -442,7 +442,7 @@ interrupt_base:
#ifdef CONFIG_PPC_FPU
#ifdef CONFIG_PPC_FPU
	FP_UNAVAILABLE_EXCEPTION
	FP_UNAVAILABLE_EXCEPTION
#else
#else
	EXCEPTION(0x2010, FloatingPointUnavailable, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2010, FloatingPointUnavailable, unknown_exception, EXC_XFER_EE)
#endif
#endif


	/* System Call Interrupt */
	/* System Call Interrupt */
@@ -451,21 +451,21 @@ interrupt_base:
	EXC_XFER_EE_LITE(0x0c00, DoSyscall)
	EXC_XFER_EE_LITE(0x0c00, DoSyscall)


	/* Auxillary Processor Unavailable Interrupt */
	/* Auxillary Processor Unavailable Interrupt */
	EXCEPTION(0x2020, AuxillaryProcessorUnavailable, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x2020, AuxillaryProcessorUnavailable, unknown_exception, EXC_XFER_EE)


	/* Decrementer Interrupt */
	/* Decrementer Interrupt */
	DECREMENTER_EXCEPTION
	DECREMENTER_EXCEPTION


	/* Fixed Internal Timer Interrupt */
	/* Fixed Internal Timer Interrupt */
	/* TODO: Add FIT support */
	/* TODO: Add FIT support */
	EXCEPTION(0x1010, FixedIntervalTimer, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1010, FixedIntervalTimer, unknown_exception, EXC_XFER_EE)


	/* Watchdog Timer Interrupt */
	/* Watchdog Timer Interrupt */
	/* TODO: Add watchdog support */
	/* TODO: Add watchdog support */
#ifdef CONFIG_BOOKE_WDT
#ifdef CONFIG_BOOKE_WDT
	CRITICAL_EXCEPTION(0x1020, WatchdogTimer, WatchdogException)
	CRITICAL_EXCEPTION(0x1020, WatchdogTimer, WatchdogException)
#else
#else
	CRITICAL_EXCEPTION(0x1020, WatchdogTimer, UnknownException)
	CRITICAL_EXCEPTION(0x1020, WatchdogTimer, unknown_exception)
#endif
#endif


	/* Data TLB Error Interrupt */
	/* Data TLB Error Interrupt */
+26 −26
Original line number Original line Diff line number Diff line
@@ -245,12 +245,12 @@ label:
/*
/*
 * 0x0100 - Critical Interrupt Exception
 * 0x0100 - Critical Interrupt Exception
 */
 */
	CRITICAL_EXCEPTION(0x0100, CriticalInterrupt, UnknownException)
	CRITICAL_EXCEPTION(0x0100, CriticalInterrupt, unknown_exception)


/*
/*
 * 0x0200 - Machine Check Exception
 * 0x0200 - Machine Check Exception
 */
 */
	CRITICAL_EXCEPTION(0x0200, MachineCheck, MachineCheckException)
	CRITICAL_EXCEPTION(0x0200, MachineCheck, machine_check_exception)


/*
/*
 * 0x0300 - Data Storage Exception
 * 0x0300 - Data Storage Exception
@@ -405,7 +405,7 @@ label:
	mfspr	r4,SPRN_DEAR		/* Grab the DEAR and save it */
	mfspr	r4,SPRN_DEAR		/* Grab the DEAR and save it */
	stw	r4,_DEAR(r11)
	stw	r4,_DEAR(r11)
	addi	r3,r1,STACK_FRAME_OVERHEAD
	addi	r3,r1,STACK_FRAME_OVERHEAD
	EXC_XFER_EE(0x600, AlignmentException)
	EXC_XFER_EE(0x600, alignment_exception)


/* 0x0700 - Program Exception */
/* 0x0700 - Program Exception */
	START_EXCEPTION(0x0700, ProgramCheck)
	START_EXCEPTION(0x0700, ProgramCheck)
@@ -413,21 +413,21 @@ label:
	mfspr	r4,SPRN_ESR		/* Grab the ESR and save it */
	mfspr	r4,SPRN_ESR		/* Grab the ESR and save it */
	stw	r4,_ESR(r11)
	stw	r4,_ESR(r11)
	addi	r3,r1,STACK_FRAME_OVERHEAD
	addi	r3,r1,STACK_FRAME_OVERHEAD
	EXC_XFER_STD(0x700, ProgramCheckException)
	EXC_XFER_STD(0x700, program_check_exception)


	EXCEPTION(0x0800, Trap_08, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x0800, Trap_08, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x0900, Trap_09, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x0900, Trap_09, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x0A00, Trap_0A, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x0A00, Trap_0A, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x0B00, Trap_0B, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x0B00, Trap_0B, unknown_exception, EXC_XFER_EE)


/* 0x0C00 - System Call Exception */
/* 0x0C00 - System Call Exception */
	START_EXCEPTION(0x0C00,	SystemCall)
	START_EXCEPTION(0x0C00,	SystemCall)
	NORMAL_EXCEPTION_PROLOG
	NORMAL_EXCEPTION_PROLOG
	EXC_XFER_EE_LITE(0xc00, DoSyscall)
	EXC_XFER_EE_LITE(0xc00, DoSyscall)


	EXCEPTION(0x0D00, Trap_0D, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x0D00, Trap_0D, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x0E00, Trap_0E, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x0E00, Trap_0E, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x0F00, Trap_0F, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x0F00, Trap_0F, unknown_exception, EXC_XFER_EE)


/* 0x1000 - Programmable Interval Timer (PIT) Exception */
/* 0x1000 - Programmable Interval Timer (PIT) Exception */
	START_EXCEPTION(0x1000, Decrementer)
	START_EXCEPTION(0x1000, Decrementer)
@@ -444,14 +444,14 @@ label:


/* 0x1010 - Fixed Interval Timer (FIT) Exception
/* 0x1010 - Fixed Interval Timer (FIT) Exception
*/
*/
	STND_EXCEPTION(0x1010,	FITException,		UnknownException)
	STND_EXCEPTION(0x1010,	FITException,		unknown_exception)


/* 0x1020 - Watchdog Timer (WDT) Exception
/* 0x1020 - Watchdog Timer (WDT) Exception
*/
*/
#ifdef CONFIG_BOOKE_WDT
#ifdef CONFIG_BOOKE_WDT
	CRITICAL_EXCEPTION(0x1020, WDTException, WatchdogException)
	CRITICAL_EXCEPTION(0x1020, WDTException, WatchdogException)
#else
#else
	CRITICAL_EXCEPTION(0x1020, WDTException, UnknownException)
	CRITICAL_EXCEPTION(0x1020, WDTException, unknown_exception)
#endif
#endif
#endif
#endif


@@ -656,25 +656,25 @@ label:
	mfspr	r10, SPRN_SPRG0
	mfspr	r10, SPRN_SPRG0
	b	InstructionAccess
	b	InstructionAccess


	EXCEPTION(0x1300, Trap_13, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1300, Trap_13, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1400, Trap_14, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1400, Trap_14, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1500, Trap_15, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1500, Trap_15, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1600, Trap_16, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1600, Trap_16, unknown_exception, EXC_XFER_EE)
#ifdef CONFIG_IBM405_ERR51
#ifdef CONFIG_IBM405_ERR51
	/* 405GP errata 51 */
	/* 405GP errata 51 */
	START_EXCEPTION(0x1700, Trap_17)
	START_EXCEPTION(0x1700, Trap_17)
	b DTLBMiss
	b DTLBMiss
#else
#else
	EXCEPTION(0x1700, Trap_17, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1700, Trap_17, unknown_exception, EXC_XFER_EE)
#endif
#endif
	EXCEPTION(0x1800, Trap_18, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1800, Trap_18, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1900, Trap_19, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1900, Trap_19, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1A00, Trap_1A, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1A00, Trap_1A, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1B00, Trap_1B, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1B00, Trap_1B, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1C00, Trap_1C, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1C00, Trap_1C, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1D00, Trap_1D, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1D00, Trap_1D, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1E00, Trap_1E, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1E00, Trap_1E, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1F00, Trap_1F, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1F00, Trap_1F, unknown_exception, EXC_XFER_EE)


/* Check for a single step debug exception while in an exception
/* Check for a single step debug exception while in an exception
 * handler before state has been saved.  This is to catch the case
 * handler before state has been saved.  This is to catch the case
+21 −21
Original line number Original line Diff line number Diff line
@@ -203,7 +203,7 @@ i##n: \
			  ret_from_except)
			  ret_from_except)


/* System reset */
/* System reset */
	EXCEPTION(0x100, Reset, UnknownException, EXC_XFER_STD)
	EXCEPTION(0x100, Reset, unknown_exception, EXC_XFER_STD)


/* Machine check */
/* Machine check */
	. = 0x200
	. = 0x200
@@ -214,7 +214,7 @@ MachineCheck:
	mfspr r5,SPRN_DSISR
	mfspr r5,SPRN_DSISR
	stw r5,_DSISR(r11)
	stw r5,_DSISR(r11)
	addi r3,r1,STACK_FRAME_OVERHEAD
	addi r3,r1,STACK_FRAME_OVERHEAD
	EXC_XFER_STD(0x200, MachineCheckException)
	EXC_XFER_STD(0x200, machine_check_exception)


/* Data access exception.
/* Data access exception.
 * This is "never generated" by the MPC8xx.  We jump to it for other
 * This is "never generated" by the MPC8xx.  We jump to it for other
@@ -252,20 +252,20 @@ Alignment:
	mfspr	r5,SPRN_DSISR
	mfspr	r5,SPRN_DSISR
	stw	r5,_DSISR(r11)
	stw	r5,_DSISR(r11)
	addi	r3,r1,STACK_FRAME_OVERHEAD
	addi	r3,r1,STACK_FRAME_OVERHEAD
	EXC_XFER_EE(0x600, AlignmentException)
	EXC_XFER_EE(0x600, alignment_exception)


/* Program check exception */
/* Program check exception */
	EXCEPTION(0x700, ProgramCheck, ProgramCheckException, EXC_XFER_STD)
	EXCEPTION(0x700, ProgramCheck, program_check_exception, EXC_XFER_STD)


/* No FPU on MPC8xx.  This exception is not supposed to happen.
/* No FPU on MPC8xx.  This exception is not supposed to happen.
*/
*/
	EXCEPTION(0x800, FPUnavailable, UnknownException, EXC_XFER_STD)
	EXCEPTION(0x800, FPUnavailable, unknown_exception, EXC_XFER_STD)


/* Decrementer */
/* Decrementer */
	EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE)
	EXCEPTION(0x900, Decrementer, timer_interrupt, EXC_XFER_LITE)


	EXCEPTION(0xa00, Trap_0a, UnknownException, EXC_XFER_EE)
	EXCEPTION(0xa00, Trap_0a, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0xb00, Trap_0b, UnknownException, EXC_XFER_EE)
	EXCEPTION(0xb00, Trap_0b, unknown_exception, EXC_XFER_EE)


/* System call */
/* System call */
	. = 0xc00
	. = 0xc00
@@ -274,9 +274,9 @@ SystemCall:
	EXC_XFER_EE_LITE(0xc00, DoSyscall)
	EXC_XFER_EE_LITE(0xc00, DoSyscall)


/* Single step - not used on 601 */
/* Single step - not used on 601 */
	EXCEPTION(0xd00, SingleStep, SingleStepException, EXC_XFER_STD)
	EXCEPTION(0xd00, SingleStep, single_step_exception, EXC_XFER_STD)
	EXCEPTION(0xe00, Trap_0e, UnknownException, EXC_XFER_EE)
	EXCEPTION(0xe00, Trap_0e, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0xf00, Trap_0f, UnknownException, EXC_XFER_EE)
	EXCEPTION(0xf00, Trap_0f, unknown_exception, EXC_XFER_EE)


/* On the MPC8xx, this is a software emulation interrupt.  It occurs
/* On the MPC8xx, this is a software emulation interrupt.  It occurs
 * for all unimplemented and illegal instructions.
 * for all unimplemented and illegal instructions.
@@ -540,22 +540,22 @@ DataTLBError:
#endif
#endif
	b	DataAccess
	b	DataAccess


	EXCEPTION(0x1500, Trap_15, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1500, Trap_15, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1600, Trap_16, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1600, Trap_16, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1700, Trap_17, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1700, Trap_17, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1800, Trap_18, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1800, Trap_18, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1900, Trap_19, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1900, Trap_19, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1a00, Trap_1a, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1a00, Trap_1a, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1b00, Trap_1b, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1b00, Trap_1b, unknown_exception, EXC_XFER_EE)


/* On the MPC8xx, these next four traps are used for development
/* On the MPC8xx, these next four traps are used for development
 * support of breakpoints and such.  Someday I will get around to
 * support of breakpoints and such.  Someday I will get around to
 * using them.
 * using them.
 */
 */
	EXCEPTION(0x1c00, Trap_1c, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1c00, Trap_1c, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1d00, Trap_1d, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1d00, Trap_1d, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1e00, Trap_1e, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1e00, Trap_1e, unknown_exception, EXC_XFER_EE)
	EXCEPTION(0x1f00, Trap_1f, UnknownException, EXC_XFER_EE)
	EXCEPTION(0x1f00, Trap_1f, unknown_exception, EXC_XFER_EE)


	. = 0x2000
	. = 0x2000


Loading