mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-25 00:23:04 -06:00
service/gsp: Add Stub for InvalidateDataCache
This commit is contained in:
parent
c6554f1fbc
commit
b94cb61de8
2 changed files with 31 additions and 1 deletions
|
@ -323,6 +323,21 @@ void GSP_GPU::FlushDataCache(Kernel::HLERequestContext& ctx) {
|
|||
address, size, process->process_id);
|
||||
}
|
||||
|
||||
void GSP_GPU::InvalidateDataCache(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x9, 2, 2);
|
||||
u32 address = rp.Pop<u32>();
|
||||
u32 size = rp.Pop<u32>();
|
||||
auto process = rp.PopObject<Kernel::Process>();
|
||||
|
||||
// TODO(purpasmart96): Verify return header on HW
|
||||
|
||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||
rb.Push(RESULT_SUCCESS);
|
||||
|
||||
NGLOG_DEBUG(Service_GSP, "(STUBBED) called address=0x{:08X}, size=0x{:08X}, process={}",
|
||||
address, size, process->process_id);
|
||||
}
|
||||
|
||||
void GSP_GPU::SetAxiConfigQoSMode(Kernel::HLERequestContext& ctx) {
|
||||
IPC::RequestParser rp(ctx, 0x10, 1, 0);
|
||||
u32 mode = rp.Pop<u32>();
|
||||
|
@ -747,7 +762,7 @@ GSP_GPU::GSP_GPU() : ServiceFramework("gsp::Gpu", 2) {
|
|||
{0x00060082, nullptr, "SetCommandList"},
|
||||
{0x000700C2, nullptr, "RequestDma"},
|
||||
{0x00080082, &GSP_GPU::FlushDataCache, "FlushDataCache"},
|
||||
{0x00090082, nullptr, "InvalidateDataCache"},
|
||||
{0x00090082, &GSP_GPU::InvalidateDataCache, "InvalidateDataCache"},
|
||||
{0x000A0044, nullptr, "RegisterInterruptEvents"},
|
||||
{0x000B0040, &GSP_GPU::SetLcdForceBlack, "SetLcdForceBlack"},
|
||||
{0x000C0000, &GSP_GPU::TriggerCmdReqQueue, "TriggerCmdReqQueue"},
|
||||
|
|
|
@ -279,6 +279,21 @@ private:
|
|||
*/
|
||||
void FlushDataCache(Kernel::HLERequestContext& ctx);
|
||||
|
||||
/**
|
||||
* GSP_GPU::InvalidateDataCache service function
|
||||
*
|
||||
* This Function is a no-op, We aren't emulating the CPU cache any time soon.
|
||||
*
|
||||
* Inputs:
|
||||
* 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
|
||||
*/
|
||||
void InvalidateDataCache(Kernel::HLERequestContext& ctx);
|
||||
|
||||
/**
|
||||
* GSP_GPU::SetLcdForceBlack service function
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue