Everything

13.4.8 Interrupt handler information

Define the following items as interrupt handler information:
The number of items that can be defined as interrupt handler information is limited to one for each interrupt source.
The following shows the interrupt handler information format.
 DEF_INH (inhno, { inhatr, inthdr });

The items constituting the interrupt handler information are as follows.
1 ) Interrupt source: inhno
Specifies the interrupt source for an interrupt handler.
Only interrupt source names prescribed in the device file or only values from 0x0 to 0x7c can be specified.
If an interrupt source name is specified for inhno, the CF78V4 activation option -cpu D <name> must be
specified.
2 ) Attribute: inhatr
Specifies the language used to describe an interrupt handler.
The keyword that can be specified for inhatr is TA_HLNG or TA_ASM.
[ Coding language ]
TA_HLNG: Start an interrupt handler through a C language interface.
TA_ASM: Start an interrupt handler through an assembly language interface.
[ Allocation ]
TA_NEAR NEAR allocation
TA_FAR FAR allocation
3 ) Start address: inthdr
Specifies the start address of the interrupt handler.
Values that can be specified for inthdr are symbol names written in C.
Note 1 When a interrupt handler is in written in C as shown below, the value specified by this item is "func_inthdr".
 #include        <kernel.h>
 #include        <kernel_id.h>
 
 void
 func_inthdr ( void )
 {
         ............
         ............
 
         return;
 }

Note 2 When a interrupt handler is in written in assembly language as shown below, the value specified by this item is "func_inthdr".
 $INCLUDE       (kernel.inc)
 $INCLUDE       (kernel_id.inc)
 
         .PUBLIC  _func_inthdr
         .SECTION .text, TEXT
 _func_inthdr:
         ............
         ............
 
         RET