[Y2R] DriverFinalize

This commit is contained in:
wheremyfoodat 2023-04-24 02:52:49 +03:00
parent 11304a7886
commit 269efc3c43
2 changed files with 10 additions and 1 deletions

View file

@ -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);

View file

@ -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())