|
@@ -430,30 +430,18 @@ label:
|
|
|
EXCEPTION(0x0F00, Trap_0F, unknown_exception, EXC_XFER_EE)
|
|
|
|
|
|
/* 0x1000 - Programmable Interval Timer (PIT) Exception */
|
|
|
- START_EXCEPTION(0x1000, Decrementer)
|
|
|
- NORMAL_EXCEPTION_PROLOG
|
|
|
- lis r0,TSR_PIS@h
|
|
|
- mtspr SPRN_TSR,r0 /* Clear the PIT exception */
|
|
|
- addi r3,r1,STACK_FRAME_OVERHEAD
|
|
|
- EXC_XFER_LITE(0x1000, timer_interrupt)
|
|
|
-
|
|
|
-#if 0
|
|
|
-/* NOTE:
|
|
|
- * FIT and WDT handlers are not implemented yet.
|
|
|
- */
|
|
|
+ . = 0x1000
|
|
|
+ b Decrementer
|
|
|
|
|
|
/* 0x1010 - Fixed Interval Timer (FIT) Exception
|
|
|
*/
|
|
|
- STND_EXCEPTION(0x1010, FITException, unknown_exception)
|
|
|
+ . = 0x1010
|
|
|
+ b FITException
|
|
|
|
|
|
/* 0x1020 - Watchdog Timer (WDT) Exception
|
|
|
*/
|
|
|
-#ifdef CONFIG_BOOKE_WDT
|
|
|
- CRITICAL_EXCEPTION(0x1020, WDTException, WatchdogException)
|
|
|
-#else
|
|
|
- CRITICAL_EXCEPTION(0x1020, WDTException, unknown_exception)
|
|
|
-#endif
|
|
|
-#endif
|
|
|
+ . = 0x1020
|
|
|
+ b WDTException
|
|
|
|
|
|
/* 0x1100 - Data TLB Miss Exception
|
|
|
* As the name implies, translation is not in the MMU, so search the
|
|
@@ -738,6 +726,29 @@ label:
|
|
|
(MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), \
|
|
|
NOCOPY, crit_transfer_to_handler, ret_from_crit_exc)
|
|
|
|
|
|
+ /* Programmable Interval Timer (PIT) Exception. (from 0x1000) */
|
|
|
+Decrementer:
|
|
|
+ NORMAL_EXCEPTION_PROLOG
|
|
|
+ lis r0,TSR_PIS@h
|
|
|
+ mtspr SPRN_TSR,r0 /* Clear the PIT exception */
|
|
|
+ addi r3,r1,STACK_FRAME_OVERHEAD
|
|
|
+ EXC_XFER_LITE(0x1000, timer_interrupt)
|
|
|
+
|
|
|
+ /* Fixed Interval Timer (FIT) Exception. (from 0x1010) */
|
|
|
+FITException:
|
|
|
+ NORMAL_EXCEPTION_PROLOG
|
|
|
+ addi r3,r1,STACK_FRAME_OVERHEAD;
|
|
|
+ EXC_XFER_EE(0x1010, unknown_exception)
|
|
|
+
|
|
|
+ /* Watchdog Timer (WDT) Exception. (from 0x1020) */
|
|
|
+WDTException:
|
|
|
+ CRITICAL_EXCEPTION_PROLOG;
|
|
|
+ addi r3,r1,STACK_FRAME_OVERHEAD;
|
|
|
+ EXC_XFER_TEMPLATE(WatchdogException, 0x1020+2,
|
|
|
+ (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)),
|
|
|
+ NOCOPY, crit_transfer_to_handler,
|
|
|
+ ret_from_crit_exc)
|
|
|
+
|
|
|
/*
|
|
|
* The other Data TLB exceptions bail out to this point
|
|
|
* if they can't resolve the lightweight TLB fault.
|