/*---------------------------------------------------------------------------* Project: CtrFirm - HW - include File: mmap_shared.h Copyright 2008-2009 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$ *---------------------------------------------------------------------------*/ #ifndef CTR_HW_COMMON_MMAP_SHARED_H_ #define CTR_HW_COMMON_MMAP_SHARED_H_ #ifdef __cplusplus extern "C" { #endif //---------------------------------------------------------------------- // MEMORY MAP of SYSTEM SHARED AREA //---------------------------------------------------------------------- //---- AXI-WRAMシステム領域(最上位) #define HW_AXI_WRAM_SHARED (HW_AXI_WRAM_SHARED_END - HW_AXI_WRAM_SHARED_SIZE) #define HW_AXI_WRAM_SHARED_END (HW_AXI_WRAM_END) #define HW_AXI_WRAM_SHARED_SIZE (HW_AXI_WRAM_SHARED_SYS_SIZE + HW_AXI_WRAM_SHARED_GBL_SIZE) // 8KB // コア毎に独立したシステム領域(コア1は HW_AXI_WRAM_SHARED_GBL からリマップ) #define HW_AXI_WRAM_SHARED_SYS (HW_AXI_WRAM_SHARED_SYS_END - HW_AXI_WRAM_SHARED_SYS_SIZE) #define HW_AXI_WRAM_SHARED_SYS_END HW_AXI_WRAM_SHARED_END #define HW_AXI_WRAM_SHARED_SYS_SIZE 0x1000 // 4KB #define HW_AXI_WRAM_SHARED_SYS_A11 (HW_AXI_WRAM_SHARED_SYS_A11_END - HW_AXI_WRAM_SHARED_SYS_A11_SIZE) #define HW_AXI_WRAM_SHARED_SYS_A11_END HW_AXI_WRAM_SHARED_SYS_END #define HW_AXI_WRAM_SHARED_SYS_A11_SIZE 0x60 // 96B // 両コアで共通したシステム領域 #define HW_AXI_WRAM_SHARED_GBL (HW_AXI_WRAM_SHARED_GBL_END - HW_AXI_WRAM_SHARED_GBL_SIZE) #define HW_AXI_WRAM_SHARED_GBL_END HW_AXI_WRAM_SHARED_SYS #define HW_AXI_WRAM_SHARED_GBL_SIZE 0x1000 // 4KB //---- メインメモリ・システム領域(最下位) #define HW_MAIN_MEM_SHARED HW_MAIN_MEM #define HW_MAIN_MEM_SHARED_END (HW_MAIN_MEM_SHARED + HW_MAIN_MEM_SHARED_SIZE) #define HW_MAIN_MEM_SHARED_SIZE (HW_MAIN_MEM_SHARED_SYS_SIZE + HW_MAIN_MEM_SHARED_PRV_SIZE) // 128KB // ユーザへ公開するシステム領域(ROMヘッダ等) #define HW_MAIN_MEM_SHARED_SYS HW_MAIN_MEM_SHARED #define HW_MAIN_MEM_SHARED_SYS_END (HW_MAIN_MEM_SHARED_SYS + HW_MAIN_MEM_SHARED_SYS_SIZE) #define HW_MAIN_MEM_SHARED_SYS_SIZE 0x10000 // 64KB // ユーザ非公開のシステム領域(コア間共有データ等) #define HW_MAIN_MEM_SHARED_PRV HW_MAIN_MEM_SHARED_SYS_END #define HW_MAIN_MEM_SHARED_PRV_END (HW_MAIN_MEM_SHARED_PRV + HW_MAIN_MEM_SHARED_PRV_SIZE) #define HW_MAIN_MEM_SHARED_PRV_SIZE 0x10000 // 64KB #ifdef __cplusplus } /* extern "C" */ #endif /* CTR_HW_COMMON_MMAP_SHARED_H_ */ #endif