mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-11-04 12:34:39 +08:00 
			
		
		
		
	dyncom: Clean up the constructor
Some function calls aren't necessary and would be handled by regular initialization routines.
This commit is contained in:
		
							parent
							
								
									befa556b78
								
							
						
					
					
						commit
						c3211c9c80
					
				@ -19,25 +19,22 @@ ARM_DynCom::ARM_DynCom() {
 | 
			
		||||
    state = std::unique_ptr<ARMul_State>(new ARMul_State);
 | 
			
		||||
 | 
			
		||||
    ARMul_NewState(state.get());
 | 
			
		||||
    ARMul_SelectProcessor(state.get(), ARM_v6_Prop | ARM_v5_Prop | ARM_v5e_Prop);
 | 
			
		||||
 | 
			
		||||
    state->abort_model = ABORT_BASE_RESTORED;
 | 
			
		||||
    state->cpu = (cpu_config_t*)&s_arm11_cpu_info;
 | 
			
		||||
    state->bigendSig = LOW;
 | 
			
		||||
 | 
			
		||||
    ARMul_SelectProcessor(state.get(), ARM_v6_Prop | ARM_v5_Prop | ARM_v5e_Prop);
 | 
			
		||||
    state->bigendSig = LOW;
 | 
			
		||||
    state->lateabtSig = LOW;
 | 
			
		||||
    state->NirqSig = HIGH;
 | 
			
		||||
 | 
			
		||||
    // Reset the core to initial state
 | 
			
		||||
    ARMul_CoProInit(state.get());
 | 
			
		||||
    ARMul_Reset(state.get());
 | 
			
		||||
    state->NextInstr = RESUME; // NOTE: This will be overwritten by LoadContext
 | 
			
		||||
    state->Emulate = RUN;
 | 
			
		||||
 | 
			
		||||
    state->Reg[15] = 0x00000000;
 | 
			
		||||
    state->Reg[13] = 0x10000000; // Set stack pointer to the top of the stack
 | 
			
		||||
    state->NirqSig = HIGH;
 | 
			
		||||
 | 
			
		||||
    VFPInit(state.get()); // Initialize the VFP
 | 
			
		||||
    state->Reg[15] = 0x00000000;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ARM_DynCom::~ARM_DynCom() {
 | 
			
		||||
 | 
			
		||||
@ -64,10 +64,9 @@ void ARMul_SelectProcessor(ARMul_State* state, unsigned properties)
 | 
			
		||||
    state->is_pxa27x = (properties & ARM_PXA27X_Prop) != 0;
 | 
			
		||||
    state->is_v7     = (properties & ARM_v7_Prop) != 0;
 | 
			
		||||
 | 
			
		||||
    /* Only initialse the coprocessor support once we
 | 
			
		||||
       know what kind of chip we are dealing with.  */
 | 
			
		||||
    //ARMul_CoProInit (state);
 | 
			
		||||
 | 
			
		||||
    // Only initialse the coprocessor support once we
 | 
			
		||||
    // know what kind of chip we are dealing with.
 | 
			
		||||
    ARMul_CoProInit(state);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/***************************************************************************\
 | 
			
		||||
 | 
			
		||||
@ -26,8 +26,6 @@
 | 
			
		||||
#include "core/arm/skyeye_common/vfp/asm_vfp.h"
 | 
			
		||||
#include "core/arm/skyeye_common/vfp/vfp.h"
 | 
			
		||||
 | 
			
		||||
//ARMul_State* persistent_state; /* function calls from SoftFloat lib don't have an access to ARMul_state. */
 | 
			
		||||
 | 
			
		||||
unsigned VFPInit(ARMul_State* state)
 | 
			
		||||
{
 | 
			
		||||
    state->VFP[VFP_OFFSET(VFP_FPSID)] = VFP_FPSID_IMPLMEN<<24 | VFP_FPSID_SW<<23 | VFP_FPSID_SUBARCH<<16 |
 | 
			
		||||
@ -35,9 +33,6 @@ unsigned VFPInit(ARMul_State* state)
 | 
			
		||||
    state->VFP[VFP_OFFSET(VFP_FPEXC)] = 0;
 | 
			
		||||
    state->VFP[VFP_OFFSET(VFP_FPSCR)] = 0;
 | 
			
		||||
 | 
			
		||||
    //persistent_state = state;
 | 
			
		||||
    /* Reset only specify VFP_FPEXC_EN = '0' */
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user