Bare minimum createAddressArbiter HLE

This commit is contained in:
wheremyfoodat 2022-09-15 18:43:20 +03:00
parent cd168bca56
commit e0204a1eff
7 changed files with 56 additions and 7 deletions

View file

@ -1,7 +1,7 @@
#ifdef CPU_DYNARMIC
#include "cpu_dynarmic.hpp"
CPU::CPU(Memory& mem) : mem(mem), env(mem) {}
CPU::CPU(Memory& mem, Kernel& kernel) : mem(mem), env(mem, kernel) {}
void CPU::reset() {
// ARM mode, all flags disabled, interrupts and aborts all enabled, user mode

20
src/core/kernel.cpp Normal file
View file

@ -0,0 +1,20 @@
#include "kernel.hpp"
void Kernel::serviceSVC(u32 svc) {
switch (svc) {
case 0x21: createAddressArbiter(); break;
default: Helpers::panic("Unimplemented svc: %x", svc); break;
}
}
void Kernel::reset() {
}
// Result CreateAddressArbiter(Handle* arbiter)
// in: r0 -> Pointer to Handle object
// out: r0 -> result
void Kernel::createAddressArbiter() {
printf("Stubbed call to CreateAddressArbiter. Handle address: %08X\n", regs[0]);
regs[0] = SVCResult::Success;
}