SingleCore: Use Cycle Timing instead of Host Timing.

This commit is contained in:
Fernando Sahmkow
2020-03-28 15:23:28 -04:00
parent 9bde28d7b1
commit f5e32935ca
15 changed files with 152 additions and 80 deletions

View File

@ -63,9 +63,9 @@ static bool UnmappedMemoryHook(uc_engine* uc, uc_mem_type type, u64 addr, int si
return false;
}
ARM_Unicorn::ARM_Unicorn(System& system, CPUInterruptHandler& interrupt_handler, Arch architecture,
std::size_t core_index)
: ARM_Interface{system, interrupt_handler}, core_index{core_index} {
ARM_Unicorn::ARM_Unicorn(System& system, CPUInterruptHandler& interrupt_handler,
bool uses_wall_clock, Arch architecture, std::size_t core_index)
: ARM_Interface{system, interrupt_handler, uses_wall_clock}, core_index{core_index} {
const auto arch = architecture == Arch::AArch32 ? UC_ARCH_ARM : UC_ARCH_ARM64;
CHECKED(uc_open(arch, UC_MODE_ARM, &uc));

View File

@ -20,8 +20,8 @@ public:
AArch64, // 64-bit ARM
};
explicit ARM_Unicorn(System& system, CPUInterruptHandler& interrupt_handler, Arch architecture,
std::size_t core_index);
explicit ARM_Unicorn(System& system, CPUInterruptHandler& interrupt_handler,
bool uses_wall_clock, Arch architecture, std::size_t core_index);
~ARM_Unicorn() override;
void SetPC(u64 pc) override;