mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-11-03 23:28:48 +00:00 
			
		
		
		
	arm/dynarmic: Initial implementation for instruction tick counts
This commit is contained in:
		
							parent
							
								
									2238e6c3ef
								
							
						
					
					
						commit
						f298278f37
					
				
					 4 changed files with 35 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -11,6 +11,7 @@
 | 
			
		|||
#include "core/arm/dynarmic/arm_dynarmic.h"
 | 
			
		||||
#include "core/arm/dynarmic/arm_dynarmic_cp15.h"
 | 
			
		||||
#include "core/arm/dynarmic/arm_exclusive_monitor.h"
 | 
			
		||||
#include "core/arm/dynarmic/arm_tick_counts.h"
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/core_timing.h"
 | 
			
		||||
#include "core/gdbstub/gdbstub.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -161,6 +162,9 @@ public:
 | 
			
		|||
        s64 ticks = parent.GetTimer().GetDowncount();
 | 
			
		||||
        return static_cast<u64>(ticks <= 0 ? 0 : ticks);
 | 
			
		||||
    }
 | 
			
		||||
    std::uint64_t GetTicksForCode(bool is_thumb, VAddr, std::uint32_t instruction) override {
 | 
			
		||||
        return Core::TicksForInstruction(is_thumb, instruction);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    ARM_Dynarmic& parent;
 | 
			
		||||
    Kernel::SVCContext svc_context;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										16
									
								
								src/core/arm/dynarmic/arm_tick_counts.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/core/arm/dynarmic/arm_tick_counts.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
// Copyright 2022 Citra Emulator Project
 | 
			
		||||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "core/arm/dynarmic/arm_tick_counts.h"
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
 | 
			
		||||
u64 TicksForInstruction(bool is_thumb, u32 instruction) {
 | 
			
		||||
    (void)is_thumb;
 | 
			
		||||
    (void)instruction;
 | 
			
		||||
    return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace Core
 | 
			
		||||
							
								
								
									
										13
									
								
								src/core/arm/dynarmic/arm_tick_counts.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								src/core/arm/dynarmic/arm_tick_counts.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,13 @@
 | 
			
		|||
// Copyright 2022 Citra Emulator Project
 | 
			
		||||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
 | 
			
		||||
u64 TicksForInstruction(bool is_thumb, u32 instruction);
 | 
			
		||||
 | 
			
		||||
} // namespace Core
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue