Make cfg:i not die

This commit is contained in:
wheremyfoodat 2023-09-10 16:20:45 +03:00
parent 0a3ab6a7dc
commit da29cecf7a
3 changed files with 11 additions and 3 deletions

View file

@ -22,7 +22,14 @@ class CFGService {
void secureInfoGetRegion(u32 messagePointer);
public:
enum class Type {
U, // cfg:u
I, // cfg:i
S, // cfg:s
NOR, // cfg:nor
};
CFGService(Memory& mem) : mem(mem) {}
void reset();
void handleSyncRequest(u32 messagePointer);
void handleSyncRequest(u32 messagePointer, Type type);
};

View file

@ -21,7 +21,7 @@ namespace CFGCommands {
void CFGService::reset() {}
void CFGService::handleSyncRequest(u32 messagePointer) {
void CFGService::handleSyncRequest(u32 messagePointer, CFGService::Type type) {
const u32 command = mem.read32(messagePointer);
switch (command) {
case CFGCommands::GetConfigInfoBlk2: [[likely]] getConfigInfoBlk2(messagePointer); break;

View file

@ -203,7 +203,8 @@ void ServiceManager::sendCommandToService(u32 messagePointer, Handle handle) {
case KernelHandles::BOSS: boss.handleSyncRequest(messagePointer); break;
case KernelHandles::CAM: cam.handleSyncRequest(messagePointer); break;
case KernelHandles::CECD: cecd.handleSyncRequest(messagePointer); break;
case KernelHandles::CFG_U: cfg.handleSyncRequest(messagePointer); break;
case KernelHandles::CFG_U: cfg.handleSyncRequest(messagePointer, CFGService::Type::U); break;
case KernelHandles::CFG_I: cfg.handleSyncRequest(messagePointer, CFGService::Type::I); break;
case KernelHandles::CSND: csnd.handleSyncRequest(messagePointer); break;
case KernelHandles::DLP_SRVR: dlp_srvr.handleSyncRequest(messagePointer); break;
case KernelHandles::HID: hid.handleSyncRequest(messagePointer); break;