Core/IOS/ES: Remove global system accessor in InitializeEmulationState()

We can pass the core timing instance into the function.
This commit is contained in:
Lioncache 2023-12-18 19:05:37 -05:00
parent 251c7a1030
commit f1b18d8ae3
3 changed files with 7 additions and 5 deletions

View File

@ -125,10 +125,8 @@ ESDevice::ESDevice(EmulationKernel& ios, ESCore& core, const std::string& device
ESDevice::~ESDevice() = default;
void ESDevice::InitializeEmulationState()
void ESDevice::InitializeEmulationState(CoreTiming::CoreTimingManager& core_timing)
{
auto& system = Core::System::GetInstance();
auto& core_timing = system.GetCoreTiming();
s_finish_init_event =
core_timing.RegisterEvent("IOS-ESFinishInit", [](Core::System& system_, u64, s64) {
GetIOS()->GetESDevice()->FinishInit();

View File

@ -17,6 +17,10 @@
class PointerWrap;
namespace CoreTiming
{
class CoreTimingManager;
}
namespace DiscIO
{
enum class Platform;
@ -232,7 +236,7 @@ public:
ESDevice& operator=(ESDevice&& other) = delete;
~ESDevice();
static void InitializeEmulationState();
static void InitializeEmulationState(CoreTiming::CoreTimingManager& core_timing);
static void FinalizeEmulationState();
ReturnCode DIVerify(const ES::TMDReader& tmd, const ES::TicketReader& ticket);

View File

@ -959,7 +959,7 @@ void Init(Core::System& system)
s_ios->HandleIPCEvent(userdata);
});
ESDevice::InitializeEmulationState();
ESDevice::InitializeEmulationState(core_timing);
s_event_finish_ppc_bootstrap =
core_timing.RegisterEvent("IOSFinishPPCBootstrap", FinishPPCBootstrap);