[PATCH 07/19] i386: Remove use of proc_ptr
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Nov 9 12:48:59 UTC 2018
Update #3585.
---
bsps/i386/shared/irq/idt.c | 8 ++++----
cpukit/score/cpu/i386/cpu.c | 4 ++--
cpukit/score/cpu/i386/include/rtems/score/cpu.h | 25 ++++---------------------
3 files changed, 10 insertions(+), 27 deletions(-)
diff --git a/bsps/i386/shared/irq/idt.c b/bsps/i386/shared/irq/idt.c
index d3adbc4f05..ac50fc4497 100644
--- a/bsps/i386/shared/irq/idt.c
+++ b/bsps/i386/shared/irq/idt.c
@@ -104,8 +104,8 @@ int i386_set_idt_entry (const rtems_raw_irq_connect_data* irq)
}
void _CPU_ISR_install_vector (uint32_t vector,
- proc_ptr hdl,
- proc_ptr * oldHdl)
+ CPU_ISR_handler hdl,
+ CPU_ISR_handler * oldHdl)
{
interrupt_gate_descriptor* idt_entry_tbl;
unsigned limit;
@@ -121,8 +121,8 @@ void _CPU_ISR_install_vector (uint32_t vector,
return;
}
rtems_interrupt_lock_acquire(&rtems_idt_access_lock, &lock_context);
- * ((unsigned int *) oldHdl) = idt_entry_tbl[vector].low_offsets_bits |
- (idt_entry_tbl[vector].high_offsets_bits << 16);
+ *oldHdl = (CPU_ISR_handler) (idt_entry_tbl[vector].low_offsets_bits |
+ (idt_entry_tbl[vector].high_offsets_bits << 16));
create_interrupt_gate_descriptor(&new, hdl);
idt_entry_tbl[vector] = new;
diff --git a/cpukit/score/cpu/i386/cpu.c b/cpukit/score/cpu/i386/cpu.c
index 72b99c0d80..a90eb7a288 100644
--- a/cpukit/score/cpu/i386/cpu.c
+++ b/cpukit/score/cpu/i386/cpu.c
@@ -171,8 +171,8 @@ void _CPU_Context_Initialize(
_stack = ((uint32_t)(_stack_base)) + (_size);
_stack &= ~ (CPU_STACK_ALIGNMENT - 1);
- _stack -= 2*sizeof(proc_ptr*); /* see above for why we need to do this */
- *((proc_ptr *)(_stack)) = (_entry_point);
+ _stack -= 2*sizeof(void *); /* see above for why we need to do this */
+ *((void (**)(void))(_stack)) = (_entry_point);
the_context->ebp = (void *) 0;
the_context->esp = (void *) _stack;
diff --git a/cpukit/score/cpu/i386/include/rtems/score/cpu.h b/cpukit/score/cpu/i386/include/rtems/score/cpu.h
index d38af9475f..10614a72ee 100644
--- a/cpukit/score/cpu/i386/include/rtems/score/cpu.h
+++ b/cpukit/score/cpu/i386/include/rtems/score/cpu.h
@@ -539,29 +539,12 @@ extern void _CPU_Fatal_halt(uint32_t source, uint32_t error)
void _CPU_Initialize(void);
-/*
- * _CPU_ISR_install_raw_handler
- *
- * This routine installs a "raw" interrupt handler directly into the
- * processor's vector table.
- */
-
-void _CPU_ISR_install_raw_handler(
- uint32_t vector,
- proc_ptr new_handler,
- proc_ptr *old_handler
-);
-
-/*
- * _CPU_ISR_install_vector
- *
- * This routine installs an interrupt vector.
- */
+typedef void ( *CPU_ISR_handler )( void );
void _CPU_ISR_install_vector(
- uint32_t vector,
- proc_ptr new_handler,
- proc_ptr *old_handler
+ uint32_t vector,
+ CPU_ISR_handler new_handler,
+ CPU_ISR_handler *old_handler
);
void *_CPU_Thread_Idle_body( uintptr_t ignored );
--
2.16.4
More information about the devel
mailing list