connectToPort stub, acknowledge configuration memory

This commit is contained in:
wheremyfoodat 2022-09-17 02:02:45 +03:00
parent 8bb494229d
commit aa643c44bb
5 changed files with 27 additions and 1 deletions

View file

@ -7,6 +7,7 @@ void Kernel::serviceSVC(u32 svc) {
case 0x01: controlMemory(); break;
case 0x21: createAddressArbiter(); break;
case 0x23: svcCloseHandle(); break;
case 0x2D: connectToPort(); break;
case 0x38: getResourceLimit(); break;
case 0x39: getResourceLimitLimitValues(); break;
case 0x3A: getResourceLimitCurrentValues(); break;
@ -64,6 +65,14 @@ void Kernel::svcCloseHandle() {
regs[0] = SVCResult::Success;
}
void Kernel::connectToPort() {
const u32 handlePointer = regs[0];
const char* port = static_cast<const char*>(mem.getReadPointer(regs[1]));
printf("ConnectToPort(handle pointer = %08X, port = \"%s\")\n", handlePointer, port);
Helpers::panic("Unimplemented IPC");
}
std::string Kernel::getProcessName(u32 pid) {
if (pid == KernelHandles::CurrentProcess) {
return "current";

View file

@ -1,6 +1,8 @@
#include "memory.hpp"
#include "config_mem.hpp"
#include <cassert>
Memory::Memory() {
fcram = new uint8_t[FCRAM_SIZE]();
readTable.resize(totalPageCount, 0);
@ -122,7 +124,10 @@ u8 Memory::read8(u32 vaddr) {
return *(u8*)(pointer + offset);
}
else {
Helpers::panic("Unimplemented 8-bit read, addr: %08X", vaddr);
switch (vaddr) {
case ConfigMem::KernelVersionMinor: return 38;
default: Helpers::panic("Unimplemented 8-bit read, addr: %08X", vaddr);
}
}
}