Defines | |
| #define | CPU_MODES_INTERRUPT_MASK 0x00000001 |
| #define | CPU_INTERRUPT_NUMBER_OF_VECTORS 32 |
| #define | CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) |
| #define | CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE |
| #define | _CPU_Initialize_vectors() |
| #define | _CPU_ISR_Disable(_isr_cookie) |
| #define | _CPU_ISR_Enable(_isr_cookie) |
| #define | _CPU_ISR_Flash(_isr_cookie) |
| #define | _CPU_ISR_Set_level(new_level) |
Functions | |
| uint32_t | _CPU_ISR_Get_level (void) |
| void | _CPU_ISR_install_raw_handler (uint32_t vector, proc_ptr new_handler, proc_ptr *old_handler) |
| void | _CPU_ISR_install_vector (uint32_t vector, proc_ptr new_handler, proc_ptr *old_handler) |
| void | _CPU_Install_interrupt_stack (void) |
Variables | |
| SCORE_EXTERN void * | _CPU_Interrupt_stack_low |
| SCORE_EXTERN void * | _CPU_Interrupt_stack_high |
| SCORE_EXTERN void(* | _CPU_Thread_dispatch_pointer )() |
XXX document implementation including references if appropriate
| #define _CPU_Initialize_vectors | ( | ) |
Support routine to initialize the RTEMS vector table after it is allocated.
Port Specific Information:
XXX document implementation including references if appropriate
| #define _CPU_ISR_Disable | ( | _isr_cookie | ) |
Value:
{ \
(_isr_cookie) = 0; /* do something to prevent warnings */ \
}
| [out] | _isr_cookie | will contain the previous level cookie |
XXX document implementation including references if appropriate
| #define _CPU_ISR_Enable | ( | _isr_cookie | ) |
Value:
{ \
}
| [in] | _isr_cookie | contain the previous level cookie |
XXX document implementation including references if appropriate
| #define _CPU_ISR_Flash | ( | _isr_cookie | ) |
Value:
{ \
}
| [in] | _isr_cookie | contain the previous level cookie |
XXX document implementation including references if appropriate
| #define _CPU_ISR_Set_level | ( | new_level | ) |
Value:
{ \
}
Port Specific Information:
XXX document implementation including references if appropriate
| #define CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER (CPU_INTERRUPT_NUMBER_OF_VECTORS - 1) |
This defines the highest interrupt vector number for this port.
Referenced by _ISR_Is_vector_number_valid().
| #define CPU_INTERRUPT_NUMBER_OF_VECTORS 32 |
This defines the number of entries in the _ISR_Vector_table managed by RTEMS.
Port Specific Information:
XXX document implementation including references if appropriate
| #define CPU_MODES_INTERRUPT_MASK 0x00000001 |
The following defines the number of bits actually used in the interrupt field of the task mode. How those bits map to the CPU interrupt levels is defined by the routine _CPU_ISR_Set_level.
Port Specific Information:
XXX document implementation including references if appropriate
| #define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE |
This is defined if the port has a special way to report the ISR nesting level. Most ports maintain the variable _ISR_Nest_level.
| void _CPU_Install_interrupt_stack | ( | void | ) |
This routine installs the hardware interrupt stack pointer.
XXX document implementation including references if appropriate
| uint32_t _CPU_ISR_Get_level | ( | void | ) |
Return the current interrupt disable level for this task in the format used by the interrupt level portion of the task mode.
XXX document implementation including references if appropriate
This routine installs a "raw" interrupt handler directly into the processor's vector table.
| [in] | vector | is the vector number |
| [in] | new_handler | is the raw ISR handler to install |
| [in] | old_handler | is the previously installed ISR Handler |
XXX document implementation including references if appropriate
This routine installs an interrupt vector.
| [in] | vector | is the vector number |
| [in] | new_handler | is the RTEMS ISR handler to install |
| [in] | old_handler | is the previously installed ISR Handler |
XXX document implementation including references if appropriate
| SCORE_EXTERN void* _CPU_Interrupt_stack_high |
This variable points to the lowest physical address of the interrupt stack.
| SCORE_EXTERN void* _CPU_Interrupt_stack_low |
This variable points to the lowest physical address of the interrupt stack.
| SCORE_EXTERN void(* _CPU_Thread_dispatch_pointer)() |
With some compilation systems, it is difficult if not impossible to call a high-level language routine from assembly language. This is especially true of commercial Ada compilers and name mangling C++ ones. This variable can be optionally defined by the CPU porter and contains the address of the routine _Thread_Dispatch. This can make it easier to invoke that routine at the end of the interrupt sequence (if a dispatch is necessary).
Port Specific Information:
XXX document implementation including references if appropriate
1.5.6