ctr_firmware/trunk/bootrom/build/libraries/init/ARM9/crt0.c
nakasima 32a52af0e8 コア1のブート待ち対応。
NULLジャンプ時のデータアボート対応。
SWIハンドラアドレス格納。


git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_firmware@78 b871894f-2f95-9b40-918c-086798483c85
2008-12-04 10:42:53 +00:00

69 lines
2.0 KiB
C

/*---------------------------------------------------------------------------*
Project: CtrBrom - library - init
File: crt0.c
Copyright 2008 Nintendo. All rights reserved.
These coded instructions, statements, and computer programs contain
proprietary information of Nintendo of America Inc. and/or Nintendo
Company Ltd., and are protected by Federal copyright law. They may
not be disclosed to third parties or copied or duplicated in any form,
in whole or in part, without the prior written consent of Nintendo.
$Date:: $
$Rev$
$Author$
*---------------------------------------------------------------------------*/
#include <brom/code32.h>
#include <brom/os.h>
void _start(void);
/*---------------------------------------------------------------------------*
Name: _start
Description: Start up
Arguments: None
Returns: None.
*---------------------------------------------------------------------------*/
asm void _start( void )
{
PRESERVE8
CODE32 // for _start reference
INASM_EXTERN( STUPi_IrqVeneer )
INASM_EXTERN( STUPi_FiqVeneer )
INASM_EXTERN( STUPi_SwiVeneer )
INASM_EXTERN( STUPi_UndefInstVeneer )
INASM_EXTERN( STUPi_PrefetchAbortVeneer )
INASM_EXTERN( STUPi_DataAbortVeneer )
b stupStartHandlerVeneer // don't change for NULL access compatibility
undef b STUPi_UndefInstVeneer
swi b STUPi_SwiVeneer
iabt b STUPi_PrefetchAbortVeneer
dabt b STUPi_DataAbortVeneer
reserve b reserve
irq b STUPi_IrqVeneer
fiq b STUPi_FiqVeneer
INASM_EXTERN( STUPi_SwiHandler )
DCD STUPi_SwiHandler
INASM_EXTERN( |Image$$SVC_RW$$Base| )
INASM_EXTERN( |Load$$SVC_RW$$Base| )
DCD |Image$$SVC_RW$$Base|
DCD |Load$$SVC_RW$$Base|
stupStartHandlerVeneer
INASM_EXTERN( STUPi_StartHandler )
b STUPi_StartHandler
}