割り込みハンドラ登録。

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@91 b871894f-2f95-9b40-918c-086798483c85
This commit is contained in:
nakasima 2008-12-09 08:33:08 +00:00
parent df206e2787
commit 64b1e317ab
3 changed files with 49 additions and 1 deletions

View File

@ -17,6 +17,8 @@
#include <brom/os.h>
asm void i_osIrqVeneer( void );
/*---------------------------------------------------------------------------*
Name: osInitInterrupt
@ -39,6 +41,8 @@ void osInitInterrupt( void )
osInitInterruptTable();
*(u64*)HW_INTR_VENEER_BUF = *(u64*)i_osIrqVeneer;
{
u32 num = OS_INTR_ID_NUM;
u32 conf = 0;
@ -72,6 +76,26 @@ void osInitInterrupt( void )
}
}
/*---------------------------------------------------------------------------*
Name: i_osIrqVeneer
Description: Interrupt Vevver
Arguments: None
Returns: None
*---------------------------------------------------------------------------*/
#include <brom/code32.h>
asm void i_osIrqVeneer( void )
{
INASM_EXTERN( osIrqHandler )
ldr pc, =osIrqHandler
LTORG
}
#include <brom/codereset.h>
/*---------------------------------------------------------------------------*
Name: osEnableInterruptID

View File

@ -17,6 +17,8 @@
#include <brom/os.h>
asm void i_osIrqVeneer( void );
/*---------------------------------------------------------------------------*
Name: osInitInterrupt
@ -39,6 +41,8 @@ void osInitInterrupt( void )
i_osInitInterruptTable();
*(u64*)HW_INTR_VENEER_BUF = *(u64*)i_osIrqVeneer;
reg_OS_IE = 0;
reg_OS_IF = 0xffffffff;
@ -47,6 +51,26 @@ void osInitInterrupt( void )
}
}
/*---------------------------------------------------------------------------*
Name: i_osIrqVeneer
Description: Interrupt Vevver
Arguments: None
Returns: None
*---------------------------------------------------------------------------*/
#include <brom/code32.h>
asm void i_osIrqVeneer( void )
{
INASM_EXTERN( osIrqHandler )
ldr pc, =osIrqHandler
LTORG
}
#include <brom/codereset.h>
//================================================================================
// InterruptMask

View File

@ -23,7 +23,7 @@
#endif
//---- thread queue for interrupt
OSThreadQueue OSi_IrqThreadQueue; // = { NULL, NULL };
OSThreadQueue OSi_IrqThreadQueue;
#ifdef SDK_ARM9
#include <brom/dtcm_end.h>