|
@@ -705,6 +705,33 @@ static void ReleaseRight(Interface* self) {
|
|
|
LOG_WARNING(Service_GSP, "called");
|
|
LOG_WARNING(Service_GSP, "called");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * GSP_GPU::StoreDataCache service function
|
|
|
|
|
+ *
|
|
|
|
|
+ * This Function is a no-op, We aren't emulating the CPU cache any time soon.
|
|
|
|
|
+ *
|
|
|
|
|
+ * Inputs:
|
|
|
|
|
+ * 0 : Header code [0x001F0082]
|
|
|
|
|
+ * 1 : Address
|
|
|
|
|
+ * 2 : Size
|
|
|
|
|
+ * 3 : Value 0, some descriptor for the KProcess Handle
|
|
|
|
|
+ * 4 : KProcess handle
|
|
|
|
|
+ * Outputs:
|
|
|
|
|
+ * 1 : Result of function, 0 on success, otherwise error code
|
|
|
|
|
+ */
|
|
|
|
|
+static void StoreDataCache(Interface* self) {
|
|
|
|
|
+ u32* cmd_buff = Kernel::GetCommandBuffer();
|
|
|
|
|
+ u32 address = cmd_buff[1];
|
|
|
|
|
+ u32 size = cmd_buff[2];
|
|
|
|
|
+ u32 process = cmd_buff[4];
|
|
|
|
|
+
|
|
|
|
|
+ cmd_buff[0] = IPC::MakeHeader(0x1F, 0x1, 0);
|
|
|
|
|
+ cmd_buff[1] = RESULT_SUCCESS.raw; // No error
|
|
|
|
|
+
|
|
|
|
|
+ LOG_DEBUG(Service_GSP, "(STUBBED) called address=0x%08X, size=0x%08X, process=0x%08X", address,
|
|
|
|
|
+ size, process);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const Interface::FunctionInfo FunctionTable[] = {
|
|
const Interface::FunctionInfo FunctionTable[] = {
|
|
|
{0x00010082, WriteHWRegs, "WriteHWRegs"},
|
|
{0x00010082, WriteHWRegs, "WriteHWRegs"},
|
|
|
{0x00020084, WriteHWRegsWithMask, "WriteHWRegsWithMask"},
|
|
{0x00020084, WriteHWRegsWithMask, "WriteHWRegsWithMask"},
|
|
@@ -736,7 +763,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|
|
{0x001C0040, nullptr, "SetLedForceOff"},
|
|
{0x001C0040, nullptr, "SetLedForceOff"},
|
|
|
{0x001D0040, nullptr, "SetTestCommand"},
|
|
{0x001D0040, nullptr, "SetTestCommand"},
|
|
|
{0x001E0080, nullptr, "SetInternalPriorities"},
|
|
{0x001E0080, nullptr, "SetInternalPriorities"},
|
|
|
- {0x001F0082, nullptr, "StoreDataCache"},
|
|
|
|
|
|
|
+ {0x001F0082, StoreDataCache, "StoreDataCache"},
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
GSP_GPU::GSP_GPU() {
|
|
GSP_GPU::GSP_GPU() {
|