Appendix D. The package Ada.Interrupts.Names

The predefined package Ada.Interrupts.Names contains declarations for the LEON as follows:

package Ada.Interrupts.Names is

   --  Maskable asynchronous interrupts

   Masked_Errors             : constant Interrupt_ID := 1;
   External_0                : constant Interrupt_ID := 2;
   External_1                : constant Interrupt_ID := 3;
   UART_A_Rx_Tx              : constant Interrupt_ID := 4;
   UART_B_Rx_Tx              : constant Interrupt_ID := 5;
   Correctable_Memory_Error  : constant Interrupt_ID := 6;
   UART_Error                : constant Interrupt_ID := 7;
   DMA_Access_Error          : constant Interrupt_ID := 8;
   DMA_Timeout               : constant Interrupt_ID := 9;
   External_2                : constant Interrupt_ID := 10;
   External_3                : constant Interrupt_ID := 11;
   General_Purpose_Timer     : constant Interrupt_ID := 12;
   Real_Time_Clock           : constant Interrupt_ID := 13;
   External_4                : constant Interrupt_ID := 14;

   --  Unmaskable asynchronous interrupts

   Watchdog_Timeout          : constant Interrupt_ID := 15;

   --  Events. All reserved for the run-time system

   System_Call               : constant Interrupt_ID := 16;
   Breakpoint                : constant Interrupt_ID := 17;
   Suspend                   : constant Interrupt_ID := 18;
   Program_Exit              : constant Interrupt_ID := 19;
   Ada_Exception             : constant Interrupt_ID := 20;
   IO_Event                  : constant Interrupt_ID := 21;
   Timer_Interrupt           : constant Interrupt_ID := 22;
   Int_23                    : constant Interrupt_ID := 23;

   --  Faults. Available for application health management

   Deadline_Error            : constant Interrupt_ID := 24;
   Application_Error         : constant Interrupt_ID := 25;
   Numeric_Error             : constant Interrupt_ID := 26;
   Illegal_Request           : constant Interrupt_ID := 27;
   Stack_Overflow            : constant Interrupt_ID := 28;
   Memory_Violation          : constant Interrupt_ID := 29;
   Hardware_Fault            : constant Interrupt_ID := 30;
   Power_Fail                : constant Interrupt_ID := 31;

end Ada.Interrupts.Names;

The interrupt levels for the 15 interrupts are given in the following table:

Table D-1. Mapping of Interrupt Names to Priorities

Interrupt NameValue of System.Interrupt_Priority
Masked_Errors129
External_0130
External_1131
UART_A_Rx_Tx132
UART_B_Rx_Tx133
Correctable_Memory_Error134
UART_Error135
DMA_Access_Error136
DMA_Timeout1.8
External_2138
External_3139
General_Purpose_Timer140
Real_Time_Clock141
External_4142
Watchdog_Timeout143