sparc: Add SPARC_INTERRUPT_SOURCE_TO_TRAP()

Update #4171.
This commit is contained in:
Sebastian Huber
2020-11-05 09:56:16 +01:00
parent 828114778d
commit 350bba7a04
4 changed files with 15 additions and 3 deletions

View File

@@ -83,7 +83,7 @@ extern "C" {
* significant nibble of the trap type.
*/
#define ERC32_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
#define ERC32_TRAP_TYPE( _source ) SPARC_INTERRUPT_SOURCE_TO_TRAP( _source )
#define ERC32_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )

View File

@@ -80,7 +80,7 @@ extern "C" {
* significant nibble of the trap type.
*/
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
#define LEON_TRAP_TYPE( _source ) SPARC_INTERRUPT_SOURCE_TO_TRAP( _source )
#define LEON_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )

View File

@@ -42,7 +42,7 @@ extern "C" {
* significant nibble of the trap type.
*/
#define LEON_TRAP_TYPE( _source ) SPARC_ASYNCHRONOUS_TRAP((_source) + 0x10)
#define LEON_TRAP_TYPE( _source ) SPARC_INTERRUPT_SOURCE_TO_TRAP( _source )
#define LEON_TRAP_SOURCE( _trap ) SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap )

View File

@@ -240,6 +240,18 @@ extern "C" {
#define SPARC_INTERRUPT_TRAP_TO_SOURCE( _trap ) \
( SPARC_REAL_TRAP_NUMBER( _trap ) - 0x10 )
/**
* @brief Maps the interrupt source number to the associated asynchronous trap
* number.
*
* @param _source is the interrupt source number to map.
*
* @return Returns the asynchronous trap number associated with the interrupt
* source number.
*/
#define SPARC_INTERRUPT_SOURCE_TO_TRAP( _source ) \
( SPARC_ASYNCHRONOUS_TRAP( _source ) + 0x10 )
#ifndef ASM
/**