Difference between revisions of "GSP Services"
Jump to navigation
Jump to search
Line 4: | Line 4: | ||
|- | |- | ||
! Command Header | ! Command Header | ||
+ | ! Available since system version | ||
! Description | ! Description | ||
|- | |- | ||
| 0x00010082 | | 0x00010082 | ||
+ | | | ||
| [[GSPGPU:WriteHWRegs|WriteHWRegs]] | | [[GSPGPU:WriteHWRegs|WriteHWRegs]] | ||
|- | |- | ||
| 0x00020084 | | 0x00020084 | ||
+ | | | ||
| [[GSPGPU:WriteHWRegsWithMask|WriteHWRegsWithMask]] | | [[GSPGPU:WriteHWRegsWithMask|WriteHWRegsWithMask]] | ||
|- | |- | ||
| 0x00030082 | | 0x00030082 | ||
+ | | | ||
| [[GSPGPU:WriteHWRegRepeat|WriteHWRegRepeat]] | | [[GSPGPU:WriteHWRegRepeat|WriteHWRegRepeat]] | ||
|- | |- | ||
| 0x00040080 | | 0x00040080 | ||
+ | | | ||
| [[GSPGPU:ReadHWRegs|ReadHWRegs]] | | [[GSPGPU:ReadHWRegs|ReadHWRegs]] | ||
|- | |- | ||
| 0x00050200 | | 0x00050200 | ||
+ | | | ||
| [[GSPGPU:SetBufferSwap|SetBufferSwap]] | | [[GSPGPU:SetBufferSwap|SetBufferSwap]] | ||
|- | |- | ||
| 0x00060082 | | 0x00060082 | ||
+ | | | ||
| SetCommandList (Stubbed) | | SetCommandList (Stubbed) | ||
|- | |- | ||
| 0x000700C2 | | 0x000700C2 | ||
+ | | | ||
| RequestDma (Stubbed) | | RequestDma (Stubbed) | ||
|- | |- | ||
| 0x00080082 | | 0x00080082 | ||
+ | | | ||
| [[GSPGPU:FlushDataCache|FlushDataCache]] | | [[GSPGPU:FlushDataCache|FlushDataCache]] | ||
|- | |- | ||
| 0x00090082 | | 0x00090082 | ||
+ | | | ||
| [[GSPGPU:InvalidateDataCache|InvalidateDataCache]] | | [[GSPGPU:InvalidateDataCache|InvalidateDataCache]] | ||
|- | |- | ||
| 0x000A0044 | | 0x000A0044 | ||
+ | | | ||
| RegisterInterruptEvents | | RegisterInterruptEvents | ||
|- | |- | ||
| 0x000B0040 | | 0x000B0040 | ||
+ | | | ||
| [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]] | | [[GSPGPU:SetLcdForceBlack|SetLcdForceBlack]] | ||
|- | |- | ||
| 0x000C0000 | | 0x000C0000 | ||
+ | | | ||
| [[GSPGPU:TriggerCmdReqQueue|TriggerCmdReqQueue]] | | [[GSPGPU:TriggerCmdReqQueue|TriggerCmdReqQueue]] | ||
|- | |- | ||
| 0x000D0140 | | 0x000D0140 | ||
+ | | | ||
| SetDisplayTransfer (Stubbed) | | SetDisplayTransfer (Stubbed) | ||
|- | |- | ||
| 0x000E0180 | | 0x000E0180 | ||
+ | | | ||
| SetTextureCopy (Stubbed) | | SetTextureCopy (Stubbed) | ||
|- | |- | ||
| 0x000F0200 | | 0x000F0200 | ||
+ | | | ||
| SetMemoryFill (Stubbed) | | SetMemoryFill (Stubbed) | ||
|- | |- | ||
| 0x00100040 | | 0x00100040 | ||
+ | | | ||
| SetAxiConfigQoSMode | | SetAxiConfigQoSMode | ||
|- | |- | ||
| 0x00110040 | | 0x00110040 | ||
+ | | | ||
| SetPerfLogMode | | SetPerfLogMode | ||
|- | |- | ||
| 0x00120000 | | 0x00120000 | ||
+ | | | ||
| GetPerfLog | | GetPerfLog | ||
|- | |- | ||
| 0x00130042 | | 0x00130042 | ||
+ | | | ||
| [[GSPGPU:RegisterInterruptRelayQueue|RegisterInterruptRelayQueue]] | | [[GSPGPU:RegisterInterruptRelayQueue|RegisterInterruptRelayQueue]] | ||
|- | |- | ||
| 0x00140000 | | 0x00140000 | ||
+ | | | ||
| UnregisterInterruptRelayQueue | | UnregisterInterruptRelayQueue | ||
|- | |- | ||
| 0x00150002 | | 0x00150002 | ||
+ | | | ||
| TryAcquireRight | | TryAcquireRight | ||
|- | |- | ||
| 0x00160042 | | 0x00160042 | ||
+ | | | ||
| [[GSPGPU:AcquireRight|AcquireRight]] | | [[GSPGPU:AcquireRight|AcquireRight]] | ||
|- | |- | ||
| 0x00170000 | | 0x00170000 | ||
+ | | | ||
| ReleaseRight | | ReleaseRight | ||
|- | |- | ||
| 0x00180000 | | 0x00180000 | ||
+ | | | ||
| [[GSPGPU:ImportDisplayCaptureInfo|ImportDisplayCaptureInfo]] | | [[GSPGPU:ImportDisplayCaptureInfo|ImportDisplayCaptureInfo]] | ||
|- | |- | ||
| 0x00190000 | | 0x00190000 | ||
+ | | | ||
| [[GSPGPU:SaveVramSysArea|SaveVramSysArea]] | | [[GSPGPU:SaveVramSysArea|SaveVramSysArea]] | ||
|- | |- | ||
| 0x001A0000 | | 0x001A0000 | ||
+ | | | ||
| [[GSPGPU:RestoreVramSysArea|RestoreVramSysArea]] | | [[GSPGPU:RestoreVramSysArea|RestoreVramSysArea]] | ||
|- | |- | ||
| 0x001B0000 | | 0x001B0000 | ||
+ | | | ||
| ResetGpuCore | | ResetGpuCore | ||
|- | |- | ||
| 0x001C0040 | | 0x001C0040 | ||
+ | | | ||
| [[GSPGPU:SetLedForceOff|SetLedForceOff]] | | [[GSPGPU:SetLedForceOff|SetLedForceOff]] | ||
|- | |- | ||
| 0x001D0040 | | 0x001D0040 | ||
+ | | | ||
| SetTestCommand (Stubbed) | | SetTestCommand (Stubbed) | ||
|- | |- | ||
| 0x001E0080 | | 0x001E0080 | ||
+ | | | ||
| SetInternalPriorities | | SetInternalPriorities | ||
+ | |- | ||
+ | | 0x001F0082 | ||
+ | | [[8.0.0-18]] | ||
+ | | ? | ||
|} | |} | ||
Revision as of 22:03, 14 July 2014
GSP service "gsp::Gpu"
Command Header | Available since system version | 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 | |
0x00170000 | ReleaseRight | |
0x00180000 | ImportDisplayCaptureInfo | |
0x00190000 | SaveVramSysArea | |
0x001A0000 | RestoreVramSysArea | |
0x001B0000 | ResetGpuCore | |
0x001C0040 | SetLedForceOff | |
0x001D0040 | SetTestCommand (Stubbed) | |
0x001E0080 | SetInternalPriorities | |
0x001F0082 | 8.0.0-18 | ? |
The GSP module starts a thread for handling commands for each service session, a maximum of 4 processes can use this service at once. Official applications have an optional code-path which writes to registers during initialization, this is normally not used however.
GSP service "gsp::Lcd"
Command Header | Available since system version | Description |
---|---|---|
0x0001.... | ? | |
0x0002.... | ? | |
0x0003.... | ? | |
0x0004.... | ? | |
0x0005.... | ? | |
0x0006.... | ? | |
0x0007.... | ? | |
0x0008.... | ? | |
0x0009.... | ? | |
0x000A.... | ? | |
0x000B.... | ? | |
0x000C.... | ? | |
0x000D.... | ? | |
0x000E.... | ? | |
0x000F.... | ? | |
0x0010.... | ? | |
0x0011.... | ? | |
0x0012.... | ? | |
0x0013.... | ? | |
0x0014.... | 8.0.0-18 | This only returns an error. Uninitialized data(not set by this command itself) is also written to u8 cmdreply_word[2]. |
0x0015.... | 8.0.0-18 | This only returns an error. Uninitialized data(not set by this command itself) is also written to u32 cmdreply_word[2]. |
Unlike gsp::Gpu, GSP module does not start a separate thread for handling these service commands.