1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: os_MemoryMap.h 4 5 Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Rev: 13513 $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef NN_OS_CTR_MPCORE_OS_MEMORYMAPPROCESS_H_ 17 #define NN_OS_CTR_MPCORE_OS_MEMORYMAPPROCESS_H_ 18 19 20 #define NN_OS_ADDR_SIZE(name) (name ## _END - name ## _BEGIN) 21 22 //-------------------------------------------------- 23 // メモリ空間全体 24 25 #define NN_OS_ADDR_SPACE_BEGIN 0x00000000 26 #define NN_OS_ADDR_SPACE_END 0x20000000 27 28 29 //-------------------------------------------------- 30 // メモリ空間詳細 31 32 #define NN_OS_ADDR_NULL_TRAP_BEGIN NN_OS_ADDR_SPACE_BEGIN 33 #define NN_OS_ADDR_NULL_TRAP_END NN_OS_ADDR_CODE_BEGIN 34 #define NN_OS_ADDR_NULL_TRAP_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_NULL_TRAP) 35 36 #define NN_OS_ADDR_CODE_BEGIN 0x00100000 37 #define NN_OS_ADDR_CODE_END NN_OS_ADDR_DLL_BEGIN 38 #define NN_OS_ADDR_CODE_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_CODE) 39 40 #define NN_OS_ADDR_DLL_BEGIN 0x04000000 41 #define NN_OS_ADDR_DLL_END NN_OS_ADDR_HEAP_BEGIN 42 #define NN_OS_ADDR_DLL_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_DLL) 43 44 #define NN_OS_ADDR_HEAP_BEGIN 0x08000000 45 #define NN_OS_ADDR_HEAP_END NN_OS_ADDR_STACK_BEGIN 46 #define NN_OS_ADDR_HEAP_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_HEAP) 47 48 #define NN_OS_ADDR_STACK_BEGIN 0x0E000000 49 #define NN_OS_ADDR_STACK_END NN_OS_ADDR_SHARED_BEGIN 50 #define NN_OS_ADDR_STACK_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_STACK) 51 52 #define NN_OS_ADDR_SHARED_BEGIN 0x10000000 53 #define NN_OS_ADDR_SHARED_END NN_OS_ADDR_CONTINUOUS_BEGIN 54 #define NN_OS_ADDR_SHARED_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_SHARED) 55 56 #define NN_OS_ADDR_CONTINUOUS_BEGIN 0x14000000 57 #define NN_OS_ADDR_CONTINUOUS_END NN_OS_ADDR_RESERVED_BEGIN 58 #define NN_OS_ADDR_CONTINUOUS_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_CONTINUOUS) 59 60 #define NN_OS_ADDR_RESERVED_BEGIN 0x1C000000 61 #define NN_OS_ADDR_RESERVED_END NN_OS_ADDR_SPACE_END 62 #define NN_OS_ADDR_RESERVED_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_RESERVED) 63 64 65 //-------------------------------------------------- 66 // 予約領域詳細 67 68 #define NN_OS_ADDR_USER_BEGIN NN_OS_ADDR_HEAP_BEGIN 69 #define NN_OS_ADDR_USER_END NN_OS_ADDR_SHARED_END 70 71 #define NN_OS_ADDR_VRAM_BEGIN 0x1F000000 72 #define NN_OS_ADDR_VRAM_END (NN_OS_ADDR_VRAM_BEGIN + NN_OS_ADDR_VRAM_SIZE) 73 #if defined(NN_HARDWARE_CTR_TEG2) 74 #define NN_OS_ADDR_VRAM_SIZE 0x00400000 75 #else 76 #define NN_OS_ADDR_VRAM_SIZE 0x00600000 77 #endif 78 79 #define NN_OS_ADDR_DSP_WRAM_BEGIN 0x1FF00000 80 #define NN_OS_ADDR_DSP_WRAM_END (NN_OS_ADDR_DSP_WRAM_BEGIN + NN_OS_ADDR_DSP_WRAM_SIZE) 81 #define NN_OS_ADDR_DSP_WRAM_SIZE 0x00080000 82 83 #define NN_OS_ADDR_READONLY_SHARED_PAGE 0x1FF80000 84 #define NN_OS_ADDR_WRITABLE_SHARED_PAGE 0x1FF81000 85 86 #define NN_OS_ADDR_THREAD_LOCAL_REGION_BEGIN 0x1FF82000 87 #define NN_OS_ADDR_THREAD_LOCAL_REGION_END NN_OS_ADDR_RESERVED_END 88 #define NN_OS_ADDR_THREAD_LOCAL_REGION_SIZE NN_OS_ADDR_SIZE(NN_OS_ADDR_THREAD_LOCAL_REGION) 89 90 91 #endif /* NN_OS_CTR_MPCORE_OS_MEMORYMAPPROCESS_H_ */ 92