cpukit/score/cpu/or1k/*: Move _CPU_ISR_install_vector() to cpu.c

This function was static inline which means that it must compile
cleanly for all versions of C and C++. Newer C standards make it
an error to cast between incompatible function types. Moving this
function to cpu.c from cpu.h allows the C standard version required
to be narrowed from "whatever the user wants" to the one version
that is used to compile RTEMS.
This commit is contained in:
Joel Sherrill
2025-07-17 16:52:54 -05:00
committed by Kinsey Moore
parent cc0823b2ca
commit ecb71667e1
2 changed files with 15 additions and 9 deletions

View File

@@ -116,6 +116,19 @@ void _CPU_ISR_install_raw_handler(
_ISR_Local_enable( level );
}
void _CPU_ISR_install_vector(
uint32_t vector,
CPU_ISR_handler new_handler,
CPU_ISR_handler *old_handler
)
{
_CPU_ISR_install_raw_handler(
vector,
(CPU_ISR_raw_handler) new_handler,
(CPU_ISR_raw_handler *) old_handler
);
}
void *_CPU_Thread_Idle_body( uintptr_t ignored )
{
do {

View File

@@ -468,18 +468,11 @@ void _CPU_ISR_install_raw_handler(
typedef void ( *CPU_ISR_handler )( uint32_t );
static inline void _CPU_ISR_install_vector(
void _CPU_ISR_install_vector(
uint32_t vector,
CPU_ISR_handler new_handler,
CPU_ISR_handler *old_handler
)
{
_CPU_ISR_install_raw_handler(
vector,
(CPU_ISR_raw_handler) new_handler,
(CPU_ISR_raw_handler *) old_handler
);
}
);
RTEMS_NO_RETURN void *_CPU_Thread_Idle_body( uintptr_t ignored );