RTEMS: cpukit/score/cpu/bfin/cpu.c File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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.
uint32_t | _CPU_ISR_Get_level (void)
| Returns the interrupt level of the executing thread.
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.
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_context | points to the context area
  [in] | stack_base | is the low address of the allocated stack area
  [in] | size | is the size of the stack area in bytes
  [in] | new_level | is the interrupt level for the task
  [in] | entry_point | is the task's entry point
  [in] | is_fp | is set to TRUE if the task is a floating point task
  [in] | tls_area | is 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] | vector | is the vector number
  [in] | new_handler | is the new ISR handler
  [in] | old_handler | will contain the old ISR handler