RTEMS 6.1-rc6
Loading...
Searching...
No Matches
Macros | Functions | Variables
sparc-isr-install.c File Reference

This source file contains the SPARC-specific implementation of _CPU_ISR_install_raw_handler() and _CPU_ISR_install_vector(). More...

#include <rtems/score/isr.h>
#include <rtems/rtems/cache.h>

Macros

#define HIGH_BITS_MASK   0xFFFFFC00
 
#define HIGH_BITS_SHIFT   10
 
#define LOW_BITS_MASK   0x000003FF
 

Functions

void _CPU_ISR_install_raw_handler (uint32_t vector, CPU_ISR_raw_handler new_handler, CPU_ISR_raw_handler *old_handler)
 SPARC specific raw ISR installer.
 
void _CPU_ISR_install_vector (uint32_t vector, CPU_ISR_handler new_handler, CPU_ISR_handler *old_handler)
 SPARC specific RTEMS ISR installer.
 

Variables

const CPU_Trap_table_entry _CPU_Trap_slot_template
 

Detailed Description

This source file contains the SPARC-specific implementation of _CPU_ISR_install_raw_handler() and _CPU_ISR_install_vector().

Function Documentation

◆ _CPU_ISR_install_raw_handler()

void _CPU_ISR_install_raw_handler ( uint32_t  vector,
CPU_ISR_raw_handler  new_handler,
CPU_ISR_raw_handler *  old_handler 
)

SPARC specific raw ISR installer.

This routine installs new_handler to be directly called from the trap table.

Parameters
[in]vectoris the vector number
[in]new_handleris the new ISR handler
[in]old_handlerwill contain the old ISR handler

Variable Documentation

◆ _CPU_Trap_slot_template

const CPU_Trap_table_entry _CPU_Trap_slot_template
Initial value:
= {
0xa1480000,
0x29000000,
0x81c52000,
0xa6102000
}

This is the set of opcodes for the instructions loaded into a trap table entry. The routine which installs a handler is responsible for filling in the fields for the _handler address and the _vector trap type.

The constants following this structure are masks for the fields which must be filled in when the handler is installed.