From 269efc3c436aca31564b7628c9d8ba8def98e729 Mon Sep 17 00:00:00 2001 From: wheremyfoodat Date: Mon, 24 Apr 2023 02:52:49 +0300 Subject: [PATCH] [Y2R] DriverFinalize --- include/services/y2r.hpp | 1 + src/core/services/y2r.cpp | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/services/y2r.hpp b/include/services/y2r.hpp index bdd2d42d..963199fc 100644 --- a/include/services/y2r.hpp +++ b/include/services/y2r.hpp @@ -63,6 +63,7 @@ class Y2RService { // Service commands void driverInitialize(u32 messagePointer); + void driverFinalize(u32 messagePointer); void isBusyConversion(u32 messagePointer); void pingProcess(u32 messagePointer); void setTransferEndInterrupt(u32 messagePointer); diff --git a/src/core/services/y2r.cpp b/src/core/services/y2r.cpp index 4b9a8fdb..64a5a4d7 100644 --- a/src/core/services/y2r.cpp +++ b/src/core/services/y2r.cpp @@ -24,7 +24,8 @@ namespace Y2RCommands { StopConversion = 0x00270000, IsBusyConversion = 0x00280000, PingProcess = 0x002A0000, - DriverInitialize = 0x002B0000 + DriverInitialize = 0x002B0000, + DriverFinalize = 0x002C0000 }; } @@ -55,6 +56,7 @@ void Y2RService::handleSyncRequest(u32 messagePointer) { const u32 command = mem.read32(messagePointer); switch (command) { case Y2RCommands::DriverInitialize: driverInitialize(messagePointer); break; + case Y2RCommands::DriverFinalize: driverFinalize(messagePointer); break; case Y2RCommands::GetTransferEndEvent: getTransferEndEvent(messagePointer); break; case Y2RCommands::IsBusyConversion: isBusyConversion(messagePointer); break; case Y2RCommands::PingProcess: pingProcess(messagePointer); break; @@ -92,6 +94,12 @@ void Y2RService::driverInitialize(u32 messagePointer) { mem.write32(messagePointer + 4, Result::Success); } +void Y2RService::driverFinalize(u32 messagePointer) { + log("Y2R::DriverInitialize\n"); + mem.write32(messagePointer, IPC::responseHeader(0x2C, 1, 0)); + mem.write32(messagePointer + 4, Result::Success); +} + void Y2RService::getTransferEndEvent(u32 messagePointer) { log("Y2R::GetTransferEndEvent\n"); if (!transferEndEvent.has_value())