|
@@ -304,7 +304,7 @@ skpinv: addi r6,r6,1 /* Increment */
|
|
SET_IVOR(13, DataTLBError);
|
|
SET_IVOR(13, DataTLBError);
|
|
SET_IVOR(14, InstructionTLBError);
|
|
SET_IVOR(14, InstructionTLBError);
|
|
SET_IVOR(15, DebugDebug);
|
|
SET_IVOR(15, DebugDebug);
|
|
-#if defined(CONFIG_E500)
|
|
|
|
|
|
+#if defined(CONFIG_E500) && !defined(CONFIG_PPC_E500MC)
|
|
SET_IVOR(15, DebugCrit);
|
|
SET_IVOR(15, DebugCrit);
|
|
#endif
|
|
#endif
|
|
SET_IVOR(32, SPEUnavailable);
|
|
SET_IVOR(32, SPEUnavailable);
|
|
@@ -313,6 +313,9 @@ skpinv: addi r6,r6,1 /* Increment */
|
|
#ifndef CONFIG_E200
|
|
#ifndef CONFIG_E200
|
|
SET_IVOR(35, PerformanceMonitor);
|
|
SET_IVOR(35, PerformanceMonitor);
|
|
#endif
|
|
#endif
|
|
|
|
+#ifdef CONFIG_PPC_E500MC
|
|
|
|
+ SET_IVOR(36, Doorbell);
|
|
|
|
+#endif
|
|
|
|
|
|
/* Establish the interrupt vector base */
|
|
/* Establish the interrupt vector base */
|
|
lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */
|
|
lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */
|
|
@@ -750,10 +753,13 @@ interrupt_base:
|
|
/* Performance Monitor */
|
|
/* Performance Monitor */
|
|
EXCEPTION(0x2060, PerformanceMonitor, performance_monitor_exception, EXC_XFER_STD)
|
|
EXCEPTION(0x2060, PerformanceMonitor, performance_monitor_exception, EXC_XFER_STD)
|
|
|
|
|
|
|
|
+#ifdef CONFIG_PPC_E500MC
|
|
|
|
+ EXCEPTION(0x2070, Doorbell, unknown_exception, EXC_XFER_EE)
|
|
|
|
+#endif
|
|
|
|
|
|
/* Debug Interrupt */
|
|
/* Debug Interrupt */
|
|
DEBUG_DEBUG_EXCEPTION
|
|
DEBUG_DEBUG_EXCEPTION
|
|
-#if defined(CONFIG_E500)
|
|
|
|
|
|
+#if defined(CONFIG_E500) && !defined(CONFIG_PPC_E500MC)
|
|
DEBUG_CRIT_EXCEPTION
|
|
DEBUG_CRIT_EXCEPTION
|
|
#endif
|
|
#endif
|
|
|
|
|