Bare minimum createAddressArbiter HLE
This commit is contained in:
@@ -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
20
src/core/kernel.cpp
Normal 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;
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
void Emulator::reset() {
|
||||
cpu.reset();
|
||||
kernel.reset();
|
||||
}
|
||||
|
||||
void Emulator::step() {}
|
||||
|
||||
Reference in New Issue
Block a user