RTEMS  5.0.0
Functions
cpu.c File Reference

Blackfin CPU Dependent Source. More...

#include <rtems/score/isr.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/bfin.h>
#include <rtems/bfin/bfin.h>

Functions

void _ISR15_Handler (void)
 
void _CPU_Emulation_handler (void)
 
void _CPU_Reset_handler (void)
 
void _CPU_NMI_handler (void)
 
void _CPU_Exception_handler (void)
 
void _CPU_Unhandled_Interrupt_handler (void)
 
void _CPU_Initialize (void)
 CPU initialization. More...
 
uint32_t _CPU_ISR_Get_level (void)
 Returns the interrupt level of the executing thread. More...
 
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. More...
 
void _CPU_ISR_install_vector (uint32_t vector, CPU_ISR_handler new_handler, CPU_ISR_handler *old_handler)
 SPARC specific RTEMS ISR installer. More...
 
void * _CPU_Thread_Idle_body (uintptr_t ignored)
 
void _CPU_Context_Initialize (Context_Control *the_context, uint32_t *stack_base, uint32_t size, uint32_t new_level, void *entry_point, bool is_fp, void *tls_area)
 

Detailed Description

Blackfin CPU Dependent Source.

Function Documentation

◆ _CPU_Context_Initialize()

void _CPU_Context_Initialize ( Context_Control the_context,
uint32_t *  stack_base,
uint32_t  size,
uint32_t  new_level,
void *  entry_point,
bool  is_fp,
void *  tls_area 
)

Initialize the context to a state suitable for starting a task after a context restore operation. Generally, this involves:

  • setting a starting address
  • preparing the stack
  • preparing the stack and frame pointers
  • setting the proper interrupt level in the context
  • initializing the floating point context
Parameters
[in]the_contextpoints to the context area
[in]stack_baseis the low address of the allocated stack area
[in]sizeis the size of the stack area in bytes
[in]new_levelis the interrupt level for the task
[in]entry_pointis the task's entry point
[in]is_fpis set to TRUE if the task is a floating point task
[in]tls_areais the thread-local storage (TLS) area

NOTE: Implemented as a subroutine for the SPARC port.

◆ _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