GSP Services

From 3dbrew
Revision as of 01:28, 15 April 2013 by Yellows8 (talk | contribs)
Jump to navigation Jump to search

GSP service "gsp::Gpu"

Command Header Description
0x00010082 WriteHWRegs
0x00020084 WriteHWRegsWithMask
0x00030082 WriteHWRegRepeat
0x00040080 ReadHWRegs
0x00050200 SetBufferSwap
0x00060082 SetCommandList (Stubbed)
0x000700C2 RequestDma (Stubbed)
0x00080082 FlushDataCache
0x00090082 InvalidateDataCache
0x000A0044 RegisterInterruptEvents
0x000B0040 SetLcdForceBlack
0x000C0000 TriggerCmdReqQueue
0x000D0140 SetDisplayTransfer (Stubbed)
0x000E0180 SetTextureCopy (Stubbed)
0x000F0200 SetMemoryFill (Stubbed)
0x00100040 SetAxiConfigQoSMode
0x00110040 SetPerfLogMode
0x00120000 GetPerfLog
0x00130042 RegisterInterruptRelayQueue
0x00140000 UnregisterInterruptRelayQueue
0x00150002 TryAcquireRight
0x00160042 AcquireRight (bool unk, 0, u32 processhandle)
0x00170000 ReleaseRight
0x00180000 ImportDisplayCaptureInfo
0x00190000 SaveVramSysArea
0x001A0000 RestoreVramSysArea
0x001B0000 ResetGpuCore
0x001C0040 SetLedForceOff
0x001D0040 SetTestCommand (Stubbed)
0x001E0080 SetInternalPriorities

The GSP module starts a thread for handling commands for each service session, a maximum of 4 processes can use this service at once.

GSP service "gsp::Lcd"

Command Header Description
0x0001.... ?
0x0002.... ?
0x0003.... ?
0x0004.... ?
0x0005.... ?
0x0006.... ?
0x0007.... ?
0x0008.... ?
0x0009.... ?
0x000A.... ?
0x000B.... ?
0x000C.... ?
0x000D.... ?
0x000E.... ?
0x000F.... ?
0x0010.... ?
0x0012.... ?
0x0013.... ?

Unlike gsp::Gpu, GSP module does not start a separate thread for handling these service commands.