forked from eden-emu/eden
		
	dyncom: Properly return the value of the user RO thread register
This commit is contained in:
		
							parent
							
								
									e628ed4810
								
							
						
					
					
						commit
						23dd2ca8a6
					
				
					 2 changed files with 10 additions and 4 deletions
				
			
		|  | @ -16,6 +16,7 @@ | |||
|     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | ||||
| 
 | ||||
| #include <cstring> | ||||
| #include "core/mem_map.h" | ||||
| #include "core/arm/skyeye_common/armdefs.h" | ||||
| #include "core/arm/skyeye_common/armemu.h" | ||||
| 
 | ||||
|  | @ -138,8 +139,16 @@ void ARMul_Reset(ARMul_State* state) | |||
|     state->Bank = SVCBANK; | ||||
|     FLUSHPIPE; | ||||
| 
 | ||||
|     // Reset CP15
 | ||||
|     ResetMPCoreCP15Registers(state); | ||||
| 
 | ||||
|     // This is separate from the CP15 register reset function, as
 | ||||
|     // this isn't an ARM-defined reset value; it's set by the 3DS.
 | ||||
|     //
 | ||||
|     // TODO: Whenever TLS is implemented, this should contain
 | ||||
|     // the address of the 0x200-byte TLS
 | ||||
|     state->CP15[CP15(CP15_THREAD_URO)] = Memory::KERNEL_MEMORY_VADDR; | ||||
| 
 | ||||
|     state->EndCondition = 0; | ||||
|     state->ErrorCode = 0; | ||||
| 
 | ||||
|  |  | |||
|  | @ -227,11 +227,8 @@ u32 ReadCP15Register(ARMul_State* cpu, u32 crn, u32 opcode_1, u32 crm, u32 opcod | |||
|         if (opcode_2 == 2) | ||||
|             return cpu->CP15[CP15(CP15_THREAD_UPRW)]; | ||||
| 
 | ||||
|         // TODO: Whenever TLS is implemented, this should return
 | ||||
|         // "cpu->CP15[CP15(CP15_THREAD_URO)];"
 | ||||
|         // which contains the address of the 0x200-byte TLS
 | ||||
|         if (opcode_2 == 3) | ||||
|             return Memory::KERNEL_MEMORY_VADDR; | ||||
|             return cpu->CP15[CP15(CP15_THREAD_URO)]; | ||||
|     } | ||||
| 
 | ||||
|     if (InAPrivilegedMode(cpu)) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lioncash
						Lioncash