From fe7acdcf8b56a38212a7212493b4e07a70914d0f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 3 Jan 2001 16:36:23 +0000 Subject: 2001-01-03 Joel Sherrill * rtems/score/cpu.h: Added _CPU_Initialize_vectors(). * cpu_asm.S: Modify to properly dereference _ISR_Vector_table now that it is dynamically allocated. --- cpukit/score/cpu/hppa1.1/ChangeLog | 6 ++++++ cpukit/score/cpu/hppa1.1/cpu_asm.S | 1 + cpukit/score/cpu/hppa1.1/rtems/score/cpu.h | 12 +++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) (limited to 'cpukit/score/cpu/hppa1.1') diff --git a/cpukit/score/cpu/hppa1.1/ChangeLog b/cpukit/score/cpu/hppa1.1/ChangeLog index 2650906187..d746a28b50 100644 --- a/cpukit/score/cpu/hppa1.1/ChangeLog +++ b/cpukit/score/cpu/hppa1.1/ChangeLog @@ -1,3 +1,9 @@ +2001-01-03 Joel Sherrill + + * rtems/score/cpu.h: Added _CPU_Initialize_vectors(). + * cpu_asm.S: Modify to properly dereference _ISR_Vector_table + now that it is dynamically allocated. + 2000-11-09 Ralf Corsepius * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS. diff --git a/cpukit/score/cpu/hppa1.1/cpu_asm.S b/cpukit/score/cpu/hppa1.1/cpu_asm.S index e6d9fd08d8..1c6874f8a9 100644 --- a/cpukit/score/cpu/hppa1.1/cpu_asm.S +++ b/cpukit/score/cpu/hppa1.1/cpu_asm.S @@ -311,6 +311,7 @@ stack_done: .import _ISR_Vector_table,data ldil L%_ISR_Vector_table,%r8 ldo R%_ISR_Vector_table(%r8),%r8 + ldw (%r8),%r8 ldwx,s %r9(%r8),%r8 /* diff --git a/cpukit/score/cpu/hppa1.1/rtems/score/cpu.h b/cpukit/score/cpu/hppa1.1/rtems/score/cpu.h index 037226fa21..469b071532 100644 --- a/cpukit/score/cpu/hppa1.1/rtems/score/cpu.h +++ b/cpukit/score/cpu/hppa1.1/rtems/score/cpu.h @@ -338,13 +338,21 @@ SCORE_EXTERN void *_CPU_Interrupt_stack_high; * ISR handler macros * * These macros perform the following functions: + * + initialize the RTEMS vector table * + disable all maskable CPU interrupts * + restore previous interrupt level (enable) * + temporarily restore interrupts (flash) * + set a particular level */ +/* + * Support routine to initialize the RTEMS vector table after it is allocated. + */ + +#define _CPU_Initialize_vectors() + /* Disable interrupts; returning previous psw bits in _isr_level */ + #define _CPU_ISR_Disable( _isr_level ) \ do { \ HPPA_ASM_RSM(HPPA_PSW_I, _isr_level); \ @@ -353,7 +361,9 @@ SCORE_EXTERN void *_CPU_Interrupt_stack_high; } while(0) /* Enable interrupts to previous level from _CPU_ISR_Disable - * does not change 'level' */ + * does not change 'level' + */ + #define _CPU_ISR_Enable( _isr_level ) \ { \ register int _ignore; \ -- cgit v1.2.3