diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-08-01 19:38:52 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-08-01 19:38:52 +0000 |
commit | 5ede970698867dff1cd8ebb9b8f80641c0b7ccd4 (patch) | |
tree | e44eb3ec1b02da8321dc8add3e97256512da41a3 /c/src/exec/score/cpu/m68k/cpu.c | |
parent | The fp_context field is needed if software or hardware floating point (diff) | |
download | rtems-5ede970698867dff1cd8ebb9b8f80641c0b7ccd4.tar.bz2 |
If the _VBR is set to 0xFFFFFFFF, then assume the vector jump table is
in ROM.
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/score/cpu/m68k/cpu.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/c/src/exec/score/cpu/m68k/cpu.c b/c/src/exec/score/cpu/m68k/cpu.c index f1ffe31fe0..c34564fb32 100644 --- a/c/src/exec/score/cpu/m68k/cpu.c +++ b/c/src/exec/score/cpu/m68k/cpu.c @@ -99,8 +99,17 @@ void _CPU_ISR_install_raw_handler( #if ( M68K_HAS_VBR == 1 ) interrupt_table[ vector ] = new_handler; #else + + /* + * Install handler into RTEMS jump table and if VBR table is in + * RAM, install the pointer to the appropriate jump table slot. + * If the VBR table is in ROM, it is the BSP's responsibility to + * load it appropriately to vector to the RTEMS jump table. + */ + _CPU_ISR_jump_table[vector].isr_handler = (unsigned32) new_handler; - interrupt_table[ vector ] = (proc_ptr) &_CPU_ISR_jump_table[vector]; + if ( (unsigned32) interrupt_table != 0xFFFFFFFF ) + interrupt_table[ vector ] = (proc_ptr) &_CPU_ISR_jump_table[vector]; #endif /* M68K_HAS_VBR */ } |