Commit acc142b6 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

powerpc/32: Remove the xfer parameter in EXCEPTION() macro

parent 4c0104a8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -186,7 +186,7 @@ _ASM_NOKPROBE_SYMBOL(\name\()_virt)

#endif

#define EXCEPTION(n, label, hdlr, xfer)		\
#define EXCEPTION(n, label, hdlr)		\
	START_EXCEPTION(n, label)		\
	EXCEPTION_PROLOG n label;		\
	prepare_transfer_to_handler;		\
+21 −21
Original line number Diff line number Diff line
@@ -228,7 +228,7 @@ _ASM_NOKPROBE_SYMBOL(\name\()_virt)
	b	interrupt_return

/* 0x0500 - External Interrupt Exception */
	EXCEPTION(0x0500, HardwareInterrupt, do_IRQ, EXC_XFER_LITE)
	EXCEPTION(0x0500, HardwareInterrupt, do_IRQ)

/* 0x0600 - Alignment Exception */
	START_EXCEPTION(0x0600, Alignment)
@@ -246,19 +246,19 @@ _ASM_NOKPROBE_SYMBOL(\name\()_virt)
	REST_NVGPRS(r1)
	b	interrupt_return

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

/* 0x0C00 - System Call Exception */
	START_EXCEPTION(0x0C00,	SystemCall)
	SYSCALL_ENTRY	0xc00
/*	Trap_0D is commented out to get more space for system call exception */

/*	EXCEPTION(0x0D00, Trap_0D, unknown_exception, EXC_XFER_STD) */
	EXCEPTION(0x0E00, Trap_0E, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x0F00, Trap_0F, unknown_exception, EXC_XFER_STD)
/*	EXCEPTION(0x0D00, Trap_0D, unknown_exception) */
	EXCEPTION(0x0E00, Trap_0E, unknown_exception)
	EXCEPTION(0x0F00, Trap_0F, unknown_exception)

/* 0x1000 - Programmable Interval Timer (PIT) Exception */
	START_EXCEPTION(0x1000, DecrementerTrap)
@@ -433,19 +433,19 @@ _ASM_NOKPROBE_SYMBOL(\name\()_virt)
	mfspr	r10, SPRN_SPRG_SCRATCH5
	b	InstructionAccess

	EXCEPTION(0x1300, Trap_13, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1400, Trap_14, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1500, Trap_15, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1600, Trap_16, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1700, Trap_17, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1800, Trap_18, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1900, Trap_19, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1A00, Trap_1A, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1B00, Trap_1B, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1C00, Trap_1C, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1D00, Trap_1D, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1E00, Trap_1E, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1F00, Trap_1F, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1300, Trap_13, unknown_exception)
	EXCEPTION(0x1400, Trap_14, unknown_exception)
	EXCEPTION(0x1500, Trap_15, unknown_exception)
	EXCEPTION(0x1600, Trap_16, unknown_exception)
	EXCEPTION(0x1700, Trap_17, unknown_exception)
	EXCEPTION(0x1800, Trap_18, unknown_exception)
	EXCEPTION(0x1900, Trap_19, unknown_exception)
	EXCEPTION(0x1A00, Trap_1A, unknown_exception)
	EXCEPTION(0x1B00, Trap_1B, unknown_exception)
	EXCEPTION(0x1C00, Trap_1C, unknown_exception)
	EXCEPTION(0x1D00, Trap_1D, unknown_exception)
	EXCEPTION(0x1E00, Trap_1E, unknown_exception)
	EXCEPTION(0x1F00, Trap_1F, unknown_exception)

/* Check for a single step debug exception while in an exception
 * handler before state has been saved.  This is to catch the case
+4 −6
Original line number Diff line number Diff line
@@ -263,8 +263,7 @@ interrupt_base:
	INSTRUCTION_STORAGE_EXCEPTION

	/* External Input Interrupt */
	EXCEPTION(0x0500, BOOKE_INTERRUPT_EXTERNAL, ExternalInput, \
		  do_IRQ, EXC_XFER_LITE)
	EXCEPTION(0x0500, BOOKE_INTERRUPT_EXTERNAL, ExternalInput, do_IRQ)

	/* Alignment Interrupt */
	ALIGNMENT_EXCEPTION
@@ -277,7 +276,7 @@ interrupt_base:
	FP_UNAVAILABLE_EXCEPTION
#else
	EXCEPTION(0x2010, BOOKE_INTERRUPT_FP_UNAVAIL, \
		  FloatingPointUnavailable, unknown_exception, EXC_XFER_STD)
		  FloatingPointUnavailable, unknown_exception)
#endif
	/* System Call Interrupt */
	START_EXCEPTION(SystemCall)
@@ -285,15 +284,14 @@ interrupt_base:

	/* Auxiliary Processor Unavailable Interrupt */
	EXCEPTION(0x2020, BOOKE_INTERRUPT_AP_UNAVAIL, \
		  AuxillaryProcessorUnavailable, unknown_exception, EXC_XFER_STD)
		  AuxillaryProcessorUnavailable, unknown_exception)

	/* Decrementer Interrupt */
	DECREMENTER_EXCEPTION

	/* Fixed Internal Timer Interrupt */
	/* TODO: Add FIT support */
	EXCEPTION(0x1010, BOOKE_INTERRUPT_FIT, FixedIntervalTimer, \
		  unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1010, BOOKE_INTERRUPT_FIT, FixedIntervalTimer, unknown_exception)

	/* Watchdog Timer Interrupt */
	/* TODO: Add watchdog support */
+7 −7
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@ instruction_counter:
#endif

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

/* Machine check */
	START_EXCEPTION(0x200, MachineCheck)
@@ -128,7 +128,7 @@ instruction_counter:
	b	interrupt_return

/* External interrupt */
	EXCEPTION(0x500, HardwareInterrupt, do_IRQ, EXC_XFER_LITE)
	EXCEPTION(0x500, HardwareInterrupt, do_IRQ)

/* Alignment exception */
	START_EXCEPTION(0x600, Alignment)
@@ -147,14 +147,14 @@ instruction_counter:
	b	interrupt_return

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

/* System call */
	START_EXCEPTION(0xc00, SystemCall)
	SYSCALL_ENTRY	0xc00

/* Single step - not used on 601 */
	EXCEPTION(0xd00, SingleStep, single_step_exception, EXC_XFER_STD)
	EXCEPTION(0xd00, SingleStep, single_step_exception)

/* On the MPC8xx, this is a software emulation interrupt.  It occurs
 * for all unimplemented and illegal instructions.
@@ -384,10 +384,10 @@ DARFixed:/* Return from dcbx instruction bug workaround */
	mfspr	r10, SPRN_SPRG_SCRATCH0
	rfi
#else
	EXCEPTION(0x1d00, Trap_1d, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1d00, Trap_1d, unknown_exception)
#endif
	EXCEPTION(0x1e00, Trap_1e, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1f00, Trap_1f, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0x1e00, Trap_1e, unknown_exception)
	EXCEPTION(0x1f00, Trap_1f, unknown_exception)

	__HEAD
	. = 0x2000
+36 −36
Original line number Diff line number Diff line
@@ -239,7 +239,7 @@ __secondary_hold_acknowledge:
/* System reset */
/* core99 pmac starts the seconary here by changing the vector, and
   putting it back to what it was (unknown_async_exception) when done.  */
	EXCEPTION(0x100, Reset, unknown_async_exception, EXC_XFER_STD)
	EXCEPTION(0x100, Reset, unknown_async_exception)

/* Machine check */
/*
@@ -339,7 +339,7 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_HPTE_TABLE)
	b	interrupt_return

/* External interrupt */
	EXCEPTION(0x500, HardwareInterrupt, do_IRQ, EXC_XFER_LITE)
	EXCEPTION(0x500, HardwareInterrupt, do_IRQ)

/* Alignment exception */
	START_EXCEPTION(0x600, Alignment)
@@ -379,17 +379,17 @@ END_FTR_SECTION_IFSET(CPU_FTR_FPU_UNAVAILABLE)
#endif

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

	EXCEPTION(0xa00, Trap_0a, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0xb00, Trap_0b, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0xa00, Trap_0a, unknown_exception)
	EXCEPTION(0xb00, Trap_0b, unknown_exception)

/* System call */
	START_EXCEPTION(0xc00, SystemCall)
	SYSCALL_ENTRY	0xc00

	EXCEPTION(0xd00, SingleStep, single_step_exception, EXC_XFER_STD)
	EXCEPTION(0xe00, Trap_0e, unknown_exception, EXC_XFER_STD)
	EXCEPTION(0xd00, SingleStep, single_step_exception)
	EXCEPTION(0xe00, Trap_0e, unknown_exception)

/*
 * The Altivec unavailable trap is at 0x0f20.  Foo.
@@ -618,35 +618,35 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_NEED_DTLB_SW_LRU)
#define TAUException	unknown_async_exception
#endif

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

	__HEAD
	. = 0x3000
Loading