forked from Imagelibrary/rtems
@@ -85,7 +85,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define ERC32_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
|
#define ERC32_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
|
||||||
|
|
||||||
#define ERC32_TRAP_SOURCE( _trap ) ((_trap) - 0x10)
|
#define ERC32_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )
|
||||||
|
|
||||||
#define ERC32_Is_MEC_Trap( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
|
#define ERC32_Is_MEC_Trap( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ rtems_isr_entry set_vector( /* returns old vector */
|
|||||||
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
|
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
|
||||||
uint32_t source;
|
uint32_t source;
|
||||||
|
|
||||||
source = ERC32_TRAP_SOURCE( SPARC_REAL_TRAP_NUMBER( vector ) );
|
source = SPARC_INTERRUPT_TRAP_TO_SOURCE( vector );
|
||||||
|
|
||||||
ERC32_Clear_interrupt( source );
|
ERC32_Clear_interrupt( source );
|
||||||
ERC32_Unmask_interrupt( source );
|
ERC32_Unmask_interrupt( source );
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
|
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
|
||||||
|
|
||||||
#define LEON_TRAP_SOURCE( _trap ) ((_trap) - 0x10)
|
#define LEON_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )
|
||||||
|
|
||||||
#define LEON_INT_TRAP( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
|
#define LEON_INT_TRAP( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ rtems_isr_entry set_vector( /* returns old vector */
|
|||||||
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
|
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
|
||||||
uint32_t source;
|
uint32_t source;
|
||||||
|
|
||||||
source = LEON_TRAP_SOURCE( SPARC_REAL_TRAP_NUMBER( vector ) );
|
source = SPARC_INTERRUPT_TRAP_TO_SOURCE( vector );
|
||||||
|
|
||||||
LEON_Clear_interrupt( source );
|
LEON_Clear_interrupt( source );
|
||||||
LEON_Unmask_interrupt( source );
|
LEON_Unmask_interrupt( source );
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
|
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
|
||||||
|
|
||||||
#define LEON_TRAP_SOURCE( _trap ) ((_trap) - 0x10)
|
#define LEON_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )
|
||||||
|
|
||||||
#define LEON_INT_TRAP( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
|
#define LEON_INT_TRAP( _trap ) SPARC_IS_INTERRUPT_TRAP( _trap )
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ rtems_isr_entry set_vector( /* returns old vector */
|
|||||||
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
|
if ( SPARC_IS_INTERRUPT_TRAP( vector ) ) {
|
||||||
uint32_t source;
|
uint32_t source;
|
||||||
|
|
||||||
source = LEON_TRAP_SOURCE( SPARC_REAL_TRAP_NUMBER( vector ) );
|
source = SPARC_INTERRUPT_TRAP_TO_SOURCE( vector );
|
||||||
|
|
||||||
LEON_Clear_interrupt( source );
|
LEON_Clear_interrupt( source );
|
||||||
LEON_Unmask_interrupt( source );
|
LEON_Unmask_interrupt( source );
|
||||||
|
|||||||
@@ -223,6 +223,23 @@ extern "C" {
|
|||||||
( SPARC_REAL_TRAP_NUMBER( _trap ) >= 0x11 && \
|
( SPARC_REAL_TRAP_NUMBER( _trap ) >= 0x11 && \
|
||||||
SPARC_REAL_TRAP_NUMBER( _trap ) <= 0x1f )
|
SPARC_REAL_TRAP_NUMBER( _trap ) <= 0x1f )
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Maps the interrupt trap number to the associated interrupt source
|
||||||
|
* number.
|
||||||
|
*
|
||||||
|
* Interrupt trap numbers are real hardware vector numbers, synchronous trap
|
||||||
|
* numbers, and asynchronous trap numbers for which SPARC_IS_INTERRUPT_TRAP()
|
||||||
|
* returns true.
|
||||||
|
*
|
||||||
|
* @param _trap is the real hardware vector number, synchronous trap number, or
|
||||||
|
* asynchronous trap number to map.
|
||||||
|
*
|
||||||
|
* @return Returns the interrupt source number associated with the interrupt
|
||||||
|
* trap number.
|
||||||
|
*/
|
||||||
|
#define SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap ) \
|
||||||
|
( SPARC_REAL_TRAP_NUMBER( _trap ) - 0x10 )
|
||||||
|
|
||||||
#ifndef ASM
|
#ifndef ASM
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user