|
|
|
@ -705,6 +705,33 @@ static void ReleaseRight(Interface* self) {
|
|
|
|
|
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[] = {
|
|
|
|
|
{0x00010082, WriteHWRegs, "WriteHWRegs"},
|
|
|
|
|
{0x00020084, WriteHWRegsWithMask, "WriteHWRegsWithMask"},
|
|
|
|
@ -736,7 +763,7 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|
|
|
|
{0x001C0040, nullptr, "SetLedForceOff"},
|
|
|
|
|
{0x001D0040, nullptr, "SetTestCommand"},
|
|
|
|
|
{0x001E0080, nullptr, "SetInternalPriorities"},
|
|
|
|
|
{0x001F0082, nullptr, "StoreDataCache"},
|
|
|
|
|
{0x001F0082, StoreDataCache, "StoreDataCache"},
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
GSP_GPU::GSP_GPU() {
|
|
|
|
|