mirror of
https://github.com/rvtr/ctr_firmware.git
synced 2025-10-31 07:51:08 -04:00
STUPi_->i_stup.
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@135 b871894f-2f95-9b40-918c-086798483c85
This commit is contained in:
parent
a458bc04a7
commit
fd439a38ea
@ -34,30 +34,30 @@ asm void _start( void )
|
|||||||
|
|
||||||
CODE32 // for _start reference
|
CODE32 // for _start reference
|
||||||
|
|
||||||
INASM_EXTERN( STUPi_IrqVeneer )
|
INASM_EXTERN( i_stupIrqVeneer )
|
||||||
INASM_EXTERN( STUPi_FiqVeneer )
|
INASM_EXTERN( i_stupFiqVeneer )
|
||||||
INASM_EXTERN( STUPi_SwiVeneer )
|
INASM_EXTERN( i_stupSwiVeneer )
|
||||||
INASM_EXTERN( STUPi_UndefInstVeneer )
|
INASM_EXTERN( i_stupUndefInstVeneer )
|
||||||
INASM_EXTERN( STUPi_PrefetchAbortVeneer )
|
INASM_EXTERN( i_stupPrefetchAbortVeneer )
|
||||||
INASM_EXTERN( STUPi_DataAbortVeneer )
|
INASM_EXTERN( i_stupDataAbortVeneer )
|
||||||
|
|
||||||
b stupStartHandlerVeneer // don't change for NULL access compatibility
|
b stupStartHandlerVeneer // don't change for NULL access compatibility
|
||||||
undef b STUPi_UndefInstVeneer
|
undef b i_stupUndefInstVeneer
|
||||||
swi b STUPi_SwiVeneer
|
swi b i_stupSwiVeneer
|
||||||
iabt b STUPi_PrefetchAbortVeneer
|
iabt b i_stupPrefetchAbortVeneer
|
||||||
dabt b STUPi_DataAbortVeneer
|
dabt b i_stupDataAbortVeneer
|
||||||
reserve b reserve
|
reserve b reserve
|
||||||
irq b STUPi_IrqVeneer
|
irq b i_stupIrqVeneer
|
||||||
fiq b STUPi_FiqVeneer
|
fiq b i_stupFiqVeneer
|
||||||
|
|
||||||
#ifdef SDK_MG20EMU
|
#ifdef SDK_MG20EMU
|
||||||
// MG20_CONFIG
|
// MG20_CONFIG
|
||||||
DCD 0x3105
|
DCD 0x3105
|
||||||
#endif // SDK_MG20EMU
|
#endif // SDK_MG20EMU
|
||||||
|
|
||||||
INASM_EXTERN( STUPi_SwiHandler )
|
INASM_EXTERN( i_stupSwiHandler )
|
||||||
|
|
||||||
DCD STUPi_SwiHandler
|
DCD i_stupSwiHandler
|
||||||
|
|
||||||
#ifdef SDK_MG20EMU
|
#ifdef SDK_MG20EMU
|
||||||
SPACE 0x20 - 8
|
SPACE 0x20 - 8
|
||||||
@ -114,9 +114,9 @@ LSYM(10)
|
|||||||
|
|
||||||
core0_start
|
core0_start
|
||||||
|
|
||||||
INASM_EXTERN( STUPi_StartHandler )
|
INASM_EXTERN( i_stupStartHandler )
|
||||||
|
|
||||||
b STUPi_StartHandler
|
b i_stupStartHandler
|
||||||
|
|
||||||
LTORG
|
LTORG
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,11 +36,11 @@ asm void _start( void )
|
|||||||
b stupStartHandlerVeneer // don't change for NULL access compatibility
|
b stupStartHandlerVeneer // don't change for NULL access compatibility
|
||||||
|
|
||||||
stupStartHandlerVeneer
|
stupStartHandlerVeneer
|
||||||
b STUPi_StartHandler
|
b i_stupStartHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_StartHandler
|
Name: i_stupStartHandler
|
||||||
|
|
||||||
Description: start handler
|
Description: start handler
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ stupStartHandlerVeneer
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_StartHandler( void )
|
asm void i_stupStartHandler( void )
|
||||||
{
|
{
|
||||||
INASM_EXTERN( BromSpMain )
|
INASM_EXTERN( BromSpMain )
|
||||||
INASM_EXTERN( main )
|
INASM_EXTERN( main )
|
||||||
|
|||||||
@ -104,7 +104,7 @@ LSYM(30)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_CpuCopy32
|
Name: i_stupCpuCopy32
|
||||||
|
|
||||||
Description: copy memory by CPU
|
Description: copy memory by CPU
|
||||||
32bit version
|
32bit version
|
||||||
@ -115,7 +115,7 @@ LSYM(30)
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_CpuCopy32( const void *srcp, void *destp, u32 size )
|
ASM void i_stupCpuCopy32( const void *srcp, void *destp, u32 size )
|
||||||
{
|
{
|
||||||
add r12, r1, r2
|
add r12, r1, r2
|
||||||
LSYM(10)
|
LSYM(10)
|
||||||
@ -127,7 +127,7 @@ LSYM(10)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_CpuClear32
|
Name: i_stupCpuClear32
|
||||||
|
|
||||||
Description: fill memory with specified data.
|
Description: fill memory with specified data.
|
||||||
32bit version
|
32bit version
|
||||||
@ -138,7 +138,7 @@ LSYM(10)
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_CpuClear32( u32 data, void *destp, u32 size )
|
ASM void i_stupCpuClear32( u32 data, void *destp, u32 size )
|
||||||
{
|
{
|
||||||
add r12, r1, r2
|
add r12, r1, r2
|
||||||
LSYM(10)
|
LSYM(10)
|
||||||
@ -149,7 +149,7 @@ LSYM(10)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_NotifyToARM9
|
Name: i_stupNotifyToARM9
|
||||||
|
|
||||||
Description: notify 4bit id to ARM9
|
Description: notify 4bit id to ARM9
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ LSYM(10)
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_NotifyToARM9( u32 id )
|
ASM void i_stupNotifyToARM9( u32 id )
|
||||||
{
|
{
|
||||||
ldr r3, =REG_SUBPINTF_ADDR
|
ldr r3, =REG_SUBPINTF_ADDR
|
||||||
mov r0, r0, lsl #REG_PXI_SUBPINTF_A11STATUS_SHIFT
|
mov r0, r0, lsl #REG_PXI_SUBPINTF_A11STATUS_SHIFT
|
||||||
@ -167,7 +167,7 @@ ASM void STUPi_NotifyToARM9( u32 id )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_WaitARM9
|
Name: i_stupWaitARM9
|
||||||
|
|
||||||
Description: Wait 4bit id from ARM9
|
Description: Wait 4bit id from ARM9
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ ASM void STUPi_NotifyToARM9( u32 id )
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_WaitARM9( u32 id )
|
ASM void i_stupWaitARM9( u32 id )
|
||||||
{
|
{
|
||||||
ldr r3, =REG_SUBPINTF_ADDR
|
ldr r3, =REG_SUBPINTF_ADDR
|
||||||
LSYM(10)
|
LSYM(10)
|
||||||
@ -187,7 +187,7 @@ LSYM(10)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_WaitCpuCycles
|
Name: i_stupWaitCpuCycles
|
||||||
|
|
||||||
Description: Loop and Wait for specified CPU cycles at least
|
Description: Loop and Wait for specified CPU cycles at least
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ LSYM(10)
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_WaitCpuCycles( u32 cycle )
|
ASM void i_stupWaitCpuCycles( u32 cycle )
|
||||||
{
|
{
|
||||||
sub r0, r0, #(6-2) // subtract call-return overhead and add the margin of 2 cycles
|
sub r0, r0, #(6-2) // subtract call-return overhead and add the margin of 2 cycles
|
||||||
LSYM(10)
|
LSYM(10)
|
||||||
|
|||||||
@ -24,7 +24,7 @@ void stupInitMMUTable( void );
|
|||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_StartHandler
|
Name: i_stupStartHandler
|
||||||
|
|
||||||
Description: start handler
|
Description: start handler
|
||||||
|
|
||||||
@ -32,11 +32,11 @@ void stupInitMMUTable( void );
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_StartHandler( void )
|
asm void i_stupStartHandler( void )
|
||||||
{
|
{
|
||||||
PRESERVE8
|
PRESERVE8
|
||||||
|
|
||||||
INASM_EXTERN( STUPi_HW_DTCM )
|
INASM_EXTERN( i_stupHW_DTCM )
|
||||||
INASM_EXTERN( BromMain )
|
INASM_EXTERN( BromMain )
|
||||||
INASM_EXTERN( main )
|
INASM_EXTERN( main )
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ asm void STUPi_StartHandler( void )
|
|||||||
ldr r1, =HW_AXI_WRAM_END
|
ldr r1, =HW_AXI_WRAM_END
|
||||||
mov r2, #0x0400
|
mov r2, #0x0400
|
||||||
sub r1, r1, r2
|
sub r1, r1, r2
|
||||||
bl STUPi_CpuClear32
|
bl i_stupCpuClear32
|
||||||
|
|
||||||
//---- lnitialize sections
|
//---- lnitialize sections
|
||||||
bl stupInitSections
|
bl stupInitSections
|
||||||
|
|||||||
@ -34,25 +34,25 @@ asm void _start( void )
|
|||||||
|
|
||||||
CODE32 // for _start reference
|
CODE32 // for _start reference
|
||||||
|
|
||||||
INASM_EXTERN( STUPi_IrqVeneer )
|
INASM_EXTERN( i_stupIrqVeneer )
|
||||||
INASM_EXTERN( STUPi_FiqVeneer )
|
INASM_EXTERN( i_stupFiqVeneer )
|
||||||
INASM_EXTERN( STUPi_SwiVeneer )
|
INASM_EXTERN( i_stupSwiVeneer )
|
||||||
INASM_EXTERN( STUPi_UndefInstVeneer )
|
INASM_EXTERN( i_stupUndefInstVeneer )
|
||||||
INASM_EXTERN( STUPi_PrefetchAbortVeneer )
|
INASM_EXTERN( i_stupPrefetchAbortVeneer )
|
||||||
INASM_EXTERN( STUPi_DataAbortVeneer )
|
INASM_EXTERN( i_stupDataAbortVeneer )
|
||||||
|
|
||||||
b stupStartHandlerVeneer // don't change for NULL access compatibility
|
b stupStartHandlerVeneer // don't change for NULL access compatibility
|
||||||
undef b STUPi_UndefInstVeneer
|
undef b i_stupUndefInstVeneer
|
||||||
swi b STUPi_SwiVeneer
|
swi b i_stupSwiVeneer
|
||||||
iabt b STUPi_PrefetchAbortVeneer
|
iabt b i_stupPrefetchAbortVeneer
|
||||||
dabt b STUPi_DataAbortVeneer
|
dabt b i_stupDataAbortVeneer
|
||||||
reserve b reserve
|
reserve b reserve
|
||||||
irq b STUPi_IrqVeneer
|
irq b i_stupIrqVeneer
|
||||||
fiq b STUPi_FiqVeneer
|
fiq b i_stupFiqVeneer
|
||||||
|
|
||||||
INASM_EXTERN( STUPi_SwiHandler )
|
INASM_EXTERN( i_stupSwiHandler )
|
||||||
|
|
||||||
DCD STUPi_SwiHandler
|
DCD i_stupSwiHandler
|
||||||
|
|
||||||
INASM_EXTERN( |Image$$SVC_RW$$Base| )
|
INASM_EXTERN( |Image$$SVC_RW$$Base| )
|
||||||
INASM_EXTERN( |Load$$SVC_RW$$Base| )
|
INASM_EXTERN( |Load$$SVC_RW$$Base| )
|
||||||
@ -62,7 +62,7 @@ fiq b STUPi_FiqVeneer
|
|||||||
|
|
||||||
stupStartHandlerVeneer
|
stupStartHandlerVeneer
|
||||||
|
|
||||||
INASM_EXTERN( STUPi_StartHandler )
|
INASM_EXTERN( i_stupStartHandler )
|
||||||
|
|
||||||
b STUPi_StartHandler
|
b i_stupStartHandler
|
||||||
}
|
}
|
||||||
|
|||||||
@ -36,11 +36,11 @@ asm void _start( void )
|
|||||||
b stupStartHandlerVeneer // don't change for NULL access compatibility
|
b stupStartHandlerVeneer // don't change for NULL access compatibility
|
||||||
|
|
||||||
stupStartHandlerVeneer
|
stupStartHandlerVeneer
|
||||||
b STUPi_StartHandler
|
b i_stupStartHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_StartHandler
|
Name: i_stupStartHandler
|
||||||
|
|
||||||
Description: start handler
|
Description: start handler
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ stupStartHandlerVeneer
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_StartHandler( void )
|
asm void i_stupStartHandler( void )
|
||||||
{
|
{
|
||||||
INASM_EXTERN( BromSpMain )
|
INASM_EXTERN( BromSpMain )
|
||||||
INASM_EXTERN( main )
|
INASM_EXTERN( main )
|
||||||
|
|||||||
@ -104,7 +104,7 @@ LSYM(30)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_EnableTCM
|
Name: i_stupEnableTCM
|
||||||
|
|
||||||
Description: enable ITCM and DTCM
|
Description: enable ITCM and DTCM
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ LSYM(30)
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_EnableTCM( void )
|
asm void i_stupEnableTCM( void )
|
||||||
{
|
{
|
||||||
// プロテクションユニット/キャッシュ/TCM ディセーブル
|
// プロテクションユニット/キャッシュ/TCM ディセーブル
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ asm void STUPi_EnableTCM( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_CpuCopy32
|
Name: i_stupCpuCopy32
|
||||||
|
|
||||||
Description: copy memory by CPU
|
Description: copy memory by CPU
|
||||||
32bit version
|
32bit version
|
||||||
@ -171,7 +171,7 @@ asm void STUPi_EnableTCM( void )
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_CpuCopy32( const void *srcp, void *destp, u32 size )
|
ASM void i_stupCpuCopy32( const void *srcp, void *destp, u32 size )
|
||||||
{
|
{
|
||||||
add r12, r1, r2
|
add r12, r1, r2
|
||||||
LSYM(10)
|
LSYM(10)
|
||||||
@ -183,7 +183,7 @@ LSYM(10)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_CpuClear32
|
Name: i_stupCpuClear32
|
||||||
|
|
||||||
Description: fill memory with specified data.
|
Description: fill memory with specified data.
|
||||||
32bit version
|
32bit version
|
||||||
@ -194,7 +194,7 @@ LSYM(10)
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_CpuClear32( u32 data, void *destp, u32 size )
|
ASM void i_stupCpuClear32( u32 data, void *destp, u32 size )
|
||||||
{
|
{
|
||||||
add r12, r1, r2
|
add r12, r1, r2
|
||||||
LSYM(10)
|
LSYM(10)
|
||||||
@ -205,7 +205,7 @@ LSYM(10)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_NotifyToARM11
|
Name: i_stupNotifyToARM11
|
||||||
|
|
||||||
Description: notify 4bit id to ARM9
|
Description: notify 4bit id to ARM9
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ LSYM(10)
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_NotifyToARM11( u32 id )
|
ASM void i_stupNotifyToARM11( u32 id )
|
||||||
{
|
{
|
||||||
ldr r3, =REG_MAINPINTF_ADDR
|
ldr r3, =REG_MAINPINTF_ADDR
|
||||||
mov r0, r0, lsl #REG_PXI_MAINPINTF_A9STATUS_SHIFT
|
mov r0, r0, lsl #REG_PXI_MAINPINTF_A9STATUS_SHIFT
|
||||||
@ -223,7 +223,7 @@ ASM void STUPi_NotifyToARM11( u32 id )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_WaitARM11
|
Name: i_stupWaitARM11
|
||||||
|
|
||||||
Description: Wait 4bit id from ARM11
|
Description: Wait 4bit id from ARM11
|
||||||
|
|
||||||
@ -231,7 +231,7 @@ ASM void STUPi_NotifyToARM11( u32 id )
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_WaitARM11( u32 id )
|
ASM void i_stupWaitARM11( u32 id )
|
||||||
{
|
{
|
||||||
ldr r3, =REG_MAINPINTF_ADDR
|
ldr r3, =REG_MAINPINTF_ADDR
|
||||||
LSYM(10)
|
LSYM(10)
|
||||||
@ -243,7 +243,7 @@ LSYM(10)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_WaitCpuCycles
|
Name: i_stupWaitCpuCycles
|
||||||
|
|
||||||
Description: Loop and Wait for specified CPU cycles at least
|
Description: Loop and Wait for specified CPU cycles at least
|
||||||
|
|
||||||
@ -251,7 +251,7 @@ LSYM(10)
|
|||||||
|
|
||||||
Returns: None
|
Returns: None
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
ASM void STUPi_WaitCpuCycles( u32 cycle )
|
ASM void i_stupWaitCpuCycles( u32 cycle )
|
||||||
{
|
{
|
||||||
sub r0, r0, #(6-2) // subtract call-return overhead and add the margin of 2 cycles
|
sub r0, r0, #(6-2) // subtract call-return overhead and add the margin of 2 cycles
|
||||||
LSYM(10)
|
LSYM(10)
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
#define STUPi_HW_DTCM |Image$$DTCM$$Base|
|
#define STUPi_HW_DTCM |Image$$DTCM$$Base|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_StartHandler
|
Name: i_stupStartHandler
|
||||||
|
|
||||||
Description: start handler
|
Description: start handler
|
||||||
|
|
||||||
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_StartHandler( void )
|
asm void i_stupStartHandler( void )
|
||||||
{
|
{
|
||||||
PRESERVE8
|
PRESERVE8
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ asm void STUPi_StartHandler( void )
|
|||||||
#endif // BROM_ENABLE_BOOTROM_WRITE
|
#endif // BROM_ENABLE_BOOTROM_WRITE
|
||||||
|
|
||||||
//---- initialize cp15
|
//---- initialize cp15
|
||||||
bl STUPi_InitCP15
|
bl i_stupInitCP15
|
||||||
|
|
||||||
//---- initialize stack pointer
|
//---- initialize stack pointer
|
||||||
// SVC mode
|
// SVC mode
|
||||||
@ -73,14 +73,14 @@ asm void STUPi_StartHandler( void )
|
|||||||
mov r0, #0
|
mov r0, #0
|
||||||
ldr r1, =STUPi_HW_DTCM
|
ldr r1, =STUPi_HW_DTCM
|
||||||
mov r2, #HW_DTCM_SIZE
|
mov r2, #HW_DTCM_SIZE
|
||||||
bl STUPi_CpuClear32
|
bl i_stupCpuClear32
|
||||||
|
|
||||||
// 1KB
|
// 1KB
|
||||||
mov r0, #0
|
mov r0, #0
|
||||||
ldr r1, =HW_PRV_WRAM_END
|
ldr r1, =HW_PRV_WRAM_END
|
||||||
mov r2, #0x0400
|
mov r2, #0x0400
|
||||||
sub r1, r1, r2
|
sub r1, r1, r2
|
||||||
bl STUPi_CpuClear32
|
bl i_stupCpuClear32
|
||||||
|
|
||||||
//---- lnitialize sections
|
//---- lnitialize sections
|
||||||
bl stupInitSections
|
bl stupInitSections
|
||||||
@ -98,7 +98,7 @@ terminate
|
|||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
// システム制御コプロセッサ 初期化
|
// システム制御コプロセッサ 初期化
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
asm void STUPi_InitCP15(void)
|
asm void i_stupInitCP15(void)
|
||||||
{
|
{
|
||||||
// プロテクションユニット/キャッシュ/TCM ディセーブル
|
// プロテクションユニット/キャッシュ/TCM ディセーブル
|
||||||
|
|
||||||
@ -260,8 +260,8 @@ asm void STUPi_InitCP15(void)
|
|||||||
|
|
||||||
LTORG
|
LTORG
|
||||||
|
|
||||||
EXPORT STUPi_InitCP15_End
|
EXPORT i_stupInitCP15_End
|
||||||
STUPi_InitCP15_End
|
i_stupInitCP15_End
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <./crt0_misc_sp.c>
|
#include <./crt0_misc_sp.c>
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
#include <brom/swi.h>
|
#include <brom/swi.h>
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_DbgHandler
|
Name: i_stupDbgHandler
|
||||||
|
|
||||||
Description: Debug (FIQ, etc) handler
|
Description: Debug (FIQ, etc) handler
|
||||||
|
|
||||||
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_DbgHandler( void )
|
asm void i_stupDbgHandler( void )
|
||||||
{
|
{
|
||||||
mrs sp, cpsr // IRQ/FIQ不許可
|
mrs sp, cpsr // IRQ/FIQ不許可
|
||||||
orr sp, sp, #HW_PSR_IRQ_DISABLE | HW_PSR_FIQ_DISABLE
|
orr sp, sp, #HW_PSR_IRQ_DISABLE | HW_PSR_FIQ_DISABLE
|
||||||
@ -40,7 +40,7 @@ dbg_m
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_IrqVeneer
|
Name: i_stupIrqVeneer
|
||||||
|
|
||||||
Description: IRQ veneer
|
Description: IRQ veneer
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ dbg_m
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_IrqVeneer( void )
|
asm void i_stupIrqVeneer( void )
|
||||||
{
|
{
|
||||||
ldr pc, =HW_INTR_VENEER_BUF
|
ldr pc, =HW_INTR_VENEER_BUF
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ asm void STUPi_IrqVeneer( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_FiqVeneer
|
Name: i_stupFiqVeneer
|
||||||
|
|
||||||
Description: FIQ veneer
|
Description: FIQ veneer
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ asm void STUPi_IrqVeneer( void )
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_FiqVeneer( void )
|
asm void i_stupFiqVeneer( void )
|
||||||
{
|
{
|
||||||
ldr pc, =HW_FIQ_VENEER_BUF
|
ldr pc, =HW_FIQ_VENEER_BUF
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ asm void STUPi_FiqVeneer( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_PrefetchAbortVeneer
|
Name: i_stupPrefetchAbortVeneer
|
||||||
|
|
||||||
Description: Prefetch Abort veneer
|
Description: Prefetch Abort veneer
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ asm void STUPi_FiqVeneer( void )
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_PrefetchAbortVeneer( void )
|
asm void i_stupPrefetchAbortVeneer( void )
|
||||||
{
|
{
|
||||||
ldr pc, =HW_IABT_VENEER_BUF
|
ldr pc, =HW_IABT_VENEER_BUF
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ asm void STUPi_PrefetchAbortVeneer( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_DataAbortVeneer
|
Name: i_stupDataAbortVeneer
|
||||||
|
|
||||||
Description: Data Abort veneer
|
Description: Data Abort veneer
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ asm void STUPi_PrefetchAbortVeneer( void )
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_DataAbortVeneer( void )
|
asm void i_stupDataAbortVeneer( void )
|
||||||
{
|
{
|
||||||
ldr pc, =HW_DABT_VENEER_BUF
|
ldr pc, =HW_DABT_VENEER_BUF
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ asm void STUPi_DataAbortVeneer( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_UndefInstVeneer
|
Name: i_stupUndefInstVeneer
|
||||||
|
|
||||||
Description: Undefine Instruction veneer
|
Description: Undefine Instruction veneer
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ asm void STUPi_DataAbortVeneer( void )
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_UndefInstVeneer( void )
|
asm void i_stupUndefInstVeneer( void )
|
||||||
{
|
{
|
||||||
ldr pc, =HW_UDEF_VENEER_BUF
|
ldr pc, =HW_UDEF_VENEER_BUF
|
||||||
|
|
||||||
@ -120,7 +120,7 @@ asm void STUPi_UndefInstVeneer( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_SwiVeneer
|
Name: i_stupSwiVeneer
|
||||||
|
|
||||||
Description: SWI veneer
|
Description: SWI veneer
|
||||||
|
|
||||||
@ -128,7 +128,7 @@ asm void STUPi_UndefInstVeneer( void )
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_SwiVeneer( void )
|
asm void i_stupSwiVeneer( void )
|
||||||
{
|
{
|
||||||
ldr pc, =HW_SWI_VENEER_BUF
|
ldr pc, =HW_SWI_VENEER_BUF
|
||||||
|
|
||||||
@ -136,7 +136,7 @@ asm void STUPi_SwiVeneer( void )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: STUPi_SwiHandler
|
Name: i_stupSwiHandler
|
||||||
|
|
||||||
Description: SWI handler
|
Description: SWI handler
|
||||||
|
|
||||||
@ -144,14 +144,14 @@ asm void STUPi_SwiVeneer( void )
|
|||||||
|
|
||||||
Returns: None.
|
Returns: None.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
asm void STUPi_SwiSemihosting( void )
|
asm void i_stupSwiSemihosting( void )
|
||||||
{
|
{
|
||||||
ldmfd sp!, {r11, r12, lr}
|
ldmfd sp!, {r11, r12, lr}
|
||||||
semi_vector
|
semi_vector
|
||||||
movs pc, lr
|
movs pc, lr
|
||||||
}
|
}
|
||||||
|
|
||||||
asm void STUPi_SwiHandler( void )
|
asm void i_stupSwiHandler( void )
|
||||||
{
|
{
|
||||||
INASM_EXTERN( _start )
|
INASM_EXTERN( _start )
|
||||||
|
|
||||||
@ -162,7 +162,7 @@ asm void STUPi_SwiHandler( void )
|
|||||||
|
|
||||||
cmp r12, #(SVC_ID_SEMIHOST_ARM & SVC_ID_PREMASK)<<SVC_ID_SHIFT // SVC_ID_SEMIHOST_ARM = 0x12
|
cmp r12, #(SVC_ID_SEMIHOST_ARM & SVC_ID_PREMASK)<<SVC_ID_SHIFT // SVC_ID_SEMIHOST_ARM = 0x12
|
||||||
cmpne r12, #(SVC_ID_SEMIHOST_THUMB & SVC_ID_PREMASK)<<SVC_ID_SHIFT // SVC_ID_SEMIHOST_THUMB = 0xab
|
cmpne r12, #(SVC_ID_SEMIHOST_THUMB & SVC_ID_PREMASK)<<SVC_ID_SHIFT // SVC_ID_SEMIHOST_THUMB = 0xab
|
||||||
beq STUPi_SwiSemihosting
|
beq i_stupSwiSemihosting
|
||||||
|
|
||||||
adr r11, SWI_Table // システムコールアドレス 取得
|
adr r11, SWI_Table // システムコールアドレス 取得
|
||||||
ldrh r12, [r11, r12]
|
ldrh r12, [r11, r12]
|
||||||
|
|||||||
@ -22,14 +22,14 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SDK_ARM11
|
#ifdef SDK_ARM11
|
||||||
void STUPi_PostMappingWram( void );
|
void i_stupPostMappingWram( void );
|
||||||
void STUPi_NotifyToARM9( u32 id );
|
void i_stupNotifyToARM9( u32 id );
|
||||||
void STUPi_WaitARM9( u32 id );
|
void i_stupWaitARM9( u32 id );
|
||||||
#else // SDK_ARM9
|
#else // SDK_ARM9
|
||||||
void STUPi_WaitSecureRomMask( void );
|
void i_stupWaitSecureRomMask( void );
|
||||||
void STUPi_PostMappingWram( void );
|
void i_stupPostMappingWram( void );
|
||||||
void STUPi_NotifyToARM7( u32 id );
|
void i_stupNotifyToARM7( u32 id );
|
||||||
void STUPi_WaitARM7( u32 id );
|
void i_stupWaitARM7( u32 id );
|
||||||
#endif // SDK_ARM9
|
#endif // SDK_ARM9
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user