[Kernel] Implement GetSystemTick

This commit is contained in:
wheremyfoodat 2022-09-21 00:48:51 +03:00
parent 5bcdf4d063
commit cbefe3c2d0
4 changed files with 19 additions and 0 deletions

View file

@ -13,6 +13,7 @@ class CPU;
class MyEnvironment final : public Dynarmic::A32::UserCallbacks {
public:
u64 ticksLeft = 0;
u64 totalTicks = 0;
Memory& mem;
Kernel& kernel;
@ -80,6 +81,8 @@ public:
}
void AddTicks(u64 ticks) override {
totalTicks += ticks;
if (ticks > ticksLeft) {
ticksLeft = 0;
return;
@ -148,6 +151,10 @@ public:
cp15->setTLSBase(value);
}
u64 getTicks() {
return env.totalTicks;
}
void runFrame() {
env.ticksLeft = 268111856 / 60;
const auto exitReason = jit->Run();

View file

@ -92,6 +92,7 @@ class Kernel {
void getResourceLimit();
void getResourceLimitLimitValues();
void getResourceLimitCurrentValues();
void getSystemTick();
void sendSyncRequest();
void svcCloseHandle();
void connectToPort();