+/*-----------------------------------------------------------*/\r
+\r
+/* At the time of writing, interrupt nesting is not supported, so do not use\r
+the default SystemIrqHandler() implementation as that enables interrupts. A\r
+version that does not enable interrupts is provided below. THIS INTERRUPT\r
+HANDLER IS SPECIFIC TO THE VEGA BOARD WHICH DOES NOT INCLUDE A CLINT! */\r
+void SystemIrqHandler( uint32_t mcause )\r
+{\r
+uint32_t ulInterruptNumber;\r
+typedef void ( * irq_handler_t )( void );\r
+extern const irq_handler_t isrTable[];\r
+\r
+ ulInterruptNumber = mcause & 0x1FUL;\r
+\r
+ /* Clear pending flag in EVENT unit .*/\r
+ EVENT_UNIT->INTPTPENDCLEAR = ( 1U << ulInterruptNumber );\r
+\r
+ /* Read back to make sure write finished. */\r
+ (void)(EVENT_UNIT->INTPTPENDCLEAR);\r
+\r
+ /* Now call the real irq handler for ulInterruptNumber */\r
+ isrTable[ ulInterruptNumber ]();\r
+}\r