diff options
| author | 2015-04-06 12:43:23 -0400 | |
|---|---|---|
| committer | 2015-04-06 12:48:35 -0400 | |
| commit | b7b8b676202eaeced392dea06e2c3fcc4bd11aec (patch) | |
| tree | b104bd34e6fd7eb109fc7591f383623e877078ad /src/core/arm/interpreter/arminit.cpp | |
| parent | dyncom: Properly return the value of the user RO thread register (diff) | |
| download | yuzu-b7b8b676202eaeced392dea06e2c3fcc4bd11aec.tar.gz yuzu-b7b8b676202eaeced392dea06e2c3fcc4bd11aec.tar.xz yuzu-b7b8b676202eaeced392dea06e2c3fcc4bd11aec.zip | |
Move CP15 enum definitions into their own enum.
Also gets rid of preprocessor mumbo-jumbo
Diffstat (limited to 'src/core/arm/interpreter/arminit.cpp')
| -rw-r--r-- | src/core/arm/interpreter/arminit.cpp | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/src/core/arm/interpreter/arminit.cpp b/src/core/arm/interpreter/arminit.cpp index c6b8197f6..7254a16f3 100644 --- a/src/core/arm/interpreter/arminit.cpp +++ b/src/core/arm/interpreter/arminit.cpp | |||
| @@ -71,58 +71,58 @@ void ARMul_SelectProcessor(ARMul_State* state, unsigned properties) | |||
| 71 | static void ResetMPCoreCP15Registers(ARMul_State* cpu) | 71 | static void ResetMPCoreCP15Registers(ARMul_State* cpu) |
| 72 | { | 72 | { |
| 73 | // c0 | 73 | // c0 |
| 74 | cpu->CP15[CP15(CP15_MAIN_ID)] = 0x410FB024; | 74 | cpu->CP15[CP15_MAIN_ID] = 0x410FB024; |
| 75 | cpu->CP15[CP15(CP15_TLB_TYPE)] = 0x00000800; | 75 | cpu->CP15[CP15_TLB_TYPE] = 0x00000800; |
| 76 | cpu->CP15[CP15(CP15_PROCESSOR_FEATURE_0)] = 0x00000111; | 76 | cpu->CP15[CP15_PROCESSOR_FEATURE_0] = 0x00000111; |
| 77 | cpu->CP15[CP15(CP15_PROCESSOR_FEATURE_1)] = 0x00000001; | 77 | cpu->CP15[CP15_PROCESSOR_FEATURE_1] = 0x00000001; |
| 78 | cpu->CP15[CP15(CP15_DEBUG_FEATURE_0)] = 0x00000002; | 78 | cpu->CP15[CP15_DEBUG_FEATURE_0] = 0x00000002; |
| 79 | cpu->CP15[CP15(CP15_MEMORY_MODEL_FEATURE_0)] = 0x01100103; | 79 | cpu->CP15[CP15_MEMORY_MODEL_FEATURE_0] = 0x01100103; |
| 80 | cpu->CP15[CP15(CP15_MEMORY_MODEL_FEATURE_1)] = 0x10020302; | 80 | cpu->CP15[CP15_MEMORY_MODEL_FEATURE_1] = 0x10020302; |
| 81 | cpu->CP15[CP15(CP15_MEMORY_MODEL_FEATURE_2)] = 0x01222000; | 81 | cpu->CP15[CP15_MEMORY_MODEL_FEATURE_2] = 0x01222000; |
| 82 | cpu->CP15[CP15(CP15_MEMORY_MODEL_FEATURE_3)] = 0x00000000; | 82 | cpu->CP15[CP15_MEMORY_MODEL_FEATURE_3] = 0x00000000; |
| 83 | cpu->CP15[CP15(CP15_ISA_FEATURE_0)] = 0x00100011; | 83 | cpu->CP15[CP15_ISA_FEATURE_0] = 0x00100011; |
| 84 | cpu->CP15[CP15(CP15_ISA_FEATURE_1)] = 0x12002111; | 84 | cpu->CP15[CP15_ISA_FEATURE_1] = 0x12002111; |
| 85 | cpu->CP15[CP15(CP15_ISA_FEATURE_2)] = 0x11221011; | 85 | cpu->CP15[CP15_ISA_FEATURE_2] = 0x11221011; |
| 86 | cpu->CP15[CP15(CP15_ISA_FEATURE_3)] = 0x01102131; | 86 | cpu->CP15[CP15_ISA_FEATURE_3] = 0x01102131; |
| 87 | cpu->CP15[CP15(CP15_ISA_FEATURE_4)] = 0x00000141; | 87 | cpu->CP15[CP15_ISA_FEATURE_4] = 0x00000141; |
| 88 | 88 | ||
| 89 | // c1 | 89 | // c1 |
| 90 | cpu->CP15[CP15(CP15_CONTROL)] = 0x00054078; | 90 | cpu->CP15[CP15_CONTROL] = 0x00054078; |
| 91 | cpu->CP15[CP15(CP15_AUXILIARY_CONTROL)] = 0x0000000F; | 91 | cpu->CP15[CP15_AUXILIARY_CONTROL] = 0x0000000F; |
| 92 | cpu->CP15[CP15(CP15_COPROCESSOR_ACCESS_CONTROL)] = 0x00000000; | 92 | cpu->CP15[CP15_COPROCESSOR_ACCESS_CONTROL] = 0x00000000; |
| 93 | 93 | ||
| 94 | // c2 | 94 | // c2 |
| 95 | cpu->CP15[CP15(CP15_TRANSLATION_BASE_TABLE_0)] = 0x00000000; | 95 | cpu->CP15[CP15_TRANSLATION_BASE_TABLE_0] = 0x00000000; |
| 96 | cpu->CP15[CP15(CP15_TRANSLATION_BASE_TABLE_1)] = 0x00000000; | 96 | cpu->CP15[CP15_TRANSLATION_BASE_TABLE_1] = 0x00000000; |
| 97 | cpu->CP15[CP15(CP15_TRANSLATION_BASE_CONTROL)] = 0x00000000; | 97 | cpu->CP15[CP15_TRANSLATION_BASE_CONTROL] = 0x00000000; |
| 98 | 98 | ||
| 99 | // c3 | 99 | // c3 |
| 100 | cpu->CP15[CP15(CP15_DOMAIN_ACCESS_CONTROL)] = 0x00000000; | 100 | cpu->CP15[CP15_DOMAIN_ACCESS_CONTROL] = 0x00000000; |
| 101 | 101 | ||
| 102 | // c7 | 102 | // c7 |
| 103 | cpu->CP15[CP15(CP15_PHYS_ADDRESS)] = 0x00000000; | 103 | cpu->CP15[CP15_PHYS_ADDRESS] = 0x00000000; |
| 104 | 104 | ||
| 105 | // c9 | 105 | // c9 |
| 106 | cpu->CP15[CP15(CP15_DATA_CACHE_LOCKDOWN)] = 0xFFFFFFF0; | 106 | cpu->CP15[CP15_DATA_CACHE_LOCKDOWN] = 0xFFFFFFF0; |
| 107 | 107 | ||
| 108 | // c10 | 108 | // c10 |
| 109 | cpu->CP15[CP15(CP15_TLB_LOCKDOWN)] = 0x00000000; | 109 | cpu->CP15[CP15_TLB_LOCKDOWN] = 0x00000000; |
| 110 | cpu->CP15[CP15(CP15_PRIMARY_REGION_REMAP)] = 0x00098AA4; | 110 | cpu->CP15[CP15_PRIMARY_REGION_REMAP] = 0x00098AA4; |
| 111 | cpu->CP15[CP15(CP15_NORMAL_REGION_REMAP)] = 0x44E048E0; | 111 | cpu->CP15[CP15_NORMAL_REGION_REMAP] = 0x44E048E0; |
| 112 | 112 | ||
| 113 | // c13 | 113 | // c13 |
| 114 | cpu->CP15[CP15(CP15_PID)] = 0x00000000; | 114 | cpu->CP15[CP15_PID] = 0x00000000; |
| 115 | cpu->CP15[CP15(CP15_CONTEXT_ID)] = 0x00000000; | 115 | cpu->CP15[CP15_CONTEXT_ID] = 0x00000000; |
| 116 | cpu->CP15[CP15(CP15_THREAD_UPRW)] = 0x00000000; | 116 | cpu->CP15[CP15_THREAD_UPRW] = 0x00000000; |
| 117 | cpu->CP15[CP15(CP15_THREAD_URO)] = 0x00000000; | 117 | cpu->CP15[CP15_THREAD_URO] = 0x00000000; |
| 118 | cpu->CP15[CP15(CP15_THREAD_PRW)] = 0x00000000; | 118 | cpu->CP15[CP15_THREAD_PRW] = 0x00000000; |
| 119 | 119 | ||
| 120 | // c15 | 120 | // c15 |
| 121 | cpu->CP15[CP15(CP15_PERFORMANCE_MONITOR_CONTROL)] = 0x00000000; | 121 | cpu->CP15[CP15_PERFORMANCE_MONITOR_CONTROL] = 0x00000000; |
| 122 | cpu->CP15[CP15(CP15_MAIN_TLB_LOCKDOWN_VIRT_ADDRESS)] = 0x00000000; | 122 | cpu->CP15[CP15_MAIN_TLB_LOCKDOWN_VIRT_ADDRESS] = 0x00000000; |
| 123 | cpu->CP15[CP15(CP15_MAIN_TLB_LOCKDOWN_PHYS_ADDRESS)] = 0x00000000; | 123 | cpu->CP15[CP15_MAIN_TLB_LOCKDOWN_PHYS_ADDRESS] = 0x00000000; |
| 124 | cpu->CP15[CP15(CP15_MAIN_TLB_LOCKDOWN_ATTRIBUTE)] = 0x00000000; | 124 | cpu->CP15[CP15_MAIN_TLB_LOCKDOWN_ATTRIBUTE] = 0x00000000; |
| 125 | cpu->CP15[CP15(CP15_TLB_DEBUG_CONTROL)] = 0x00000000; | 125 | cpu->CP15[CP15_TLB_DEBUG_CONTROL] = 0x00000000; |
| 126 | } | 126 | } |
| 127 | 127 | ||
| 128 | /***************************************************************************\ | 128 | /***************************************************************************\ |
| @@ -147,7 +147,7 @@ void ARMul_Reset(ARMul_State* state) | |||
| 147 | // | 147 | // |
| 148 | // TODO: Whenever TLS is implemented, this should contain | 148 | // TODO: Whenever TLS is implemented, this should contain |
| 149 | // the address of the 0x200-byte TLS | 149 | // the address of the 0x200-byte TLS |
| 150 | state->CP15[CP15(CP15_THREAD_URO)] = Memory::KERNEL_MEMORY_VADDR; | 150 | state->CP15[CP15_THREAD_URO] = Memory::KERNEL_MEMORY_VADDR; |
| 151 | 151 | ||
| 152 | state->EndCondition = 0; | 152 | state->EndCondition = 0; |
| 153 | state->ErrorCode = 0; | 153 | state->ErrorCode = 0; |