PSC services: Difference between revisions

No edit summary
Line 33: Line 33:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || Initialize
| 0 || [[#Initialize|Initialize]]
|-
|-
| 1 || DispatchRequest
| 1 || [[#DispatchRequest|DispatchRequest]]
|-
|-
| 2 || GetResult
| 2 || [[#GetResult|GetResult]]
|-
|-
| 3 || GetState
| 3 || [[#GetState|GetState]]
|-
|-
| 4 || Cancel
| 4 || [[#Cancel|Cancel]]
|-
|-
| 5 || [1.0.0-6.2.0] PrintModuleInformation
| 5 || [1.0.0-6.2.0] [[#PrintModuleInformation|PrintModuleInformation]]
|-
|-
| 6 || GetModuleInformation
| 6 || [[#GetModuleInformation|GetModuleInformation]]
|-
|-
| 10 || [9.0.0+]
| 10 || [9.0.0+] [[#AcquireLock|AcquireLock]]
|-
|-
| 11 || [9.0.0+]
| 11 || [9.0.0+] [[#HasLock|HasLock]]
|}
|}
== Initialize ==
No input. Returns an output readable Event handle.
== DispatchRequest ==
Takes an input [[#PmState]], an input [[#PmTransitionOrder]] and an input u32 '''Flags'''. No output.
== GetResult ==
No input/output.
== GetState ==
No input. Returns an output [[#PmState]].
== Cancel ==
No input/output.
== PrintModuleInformation ==
No input/output.
== GetModuleInformation ==
Takes two type-0x6 output buffers '''DependencyInformationBefore''' and '''DependencyInformationAfter'''. Returns an output [[#PmModuleTransitionInformation]] and two output u32s '''DependencyInformationBeforeCount''' and '''DependencyInformationAfterCount'''.
== AcquireLock ==
Unofficial name.
No input. Returns an output readable Event handle.
== HasLock ==
Unofficial name.
Takes an input u32. Returns an output bool.


= psc:m =
= psc:m =
Line 57: Line 88:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
|-
| 0 || GetPmModule || Returns an [[#IPmModule]].
| 0 || [[#GetPmModule|GetPmModule]]
|}
|}
== GetPmModule ==
No input. Returns an [[#IPmModule]].


== IPmModule ==
== IPmModule ==
Line 69: Line 103:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || Initialize
| 0 || [[#Initialize_2|Initialize]]
|-
|-
| 1 || GetRequest
| 1 || [[#GetRequest|GetRequest]]
|-
|-
| 2 || Acknowledge
| 2 || [[#Acknowledge|Acknowledge]]
|-
|-
| 3 || Finalize
| 3 || [[#Finalize|Finalize]]
|-
|-
| 4 || [5.1.0+] AcknowledgeEx
| 4 || [5.1.0+] [[#AcknowledgeEx|AcknowledgeEx]]
|}
|}
=== Initialize ===
Takes an input [[#PmModuleId]] and a type-0x5 input buffer '''Dependencies'''. Returns an output Event handle.
=== GetRequest ===
No input. Returns an output [[#PmState]] and an output u32 '''Flags'''.
=== Acknowledge ===
No input/output.
=== Finalize ===
No input/output.
=== AcknowledgeEx ===
Takes an input [[#PmState]]. No output.


= psc:l =
= psc:l =
Line 87: Line 136:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 ||
| 0 || [[#Initialize_3|Initialize]]
|-
|-
| 1 ||
| 1 || [[#Lock|Lock]]
|-
|-
| 2 ||
| 2 || [[#Unlock|Unlock]]
|-
|-
| 3 ||
| 3 || [[#IsLocked|IsLocked]]
|-
|-
| 4 ||
| 4 || [[#GetLockId|GetLockId]]
|}
|}
== Initialize ==
Unofficial name.
Takes an input u32. No output.
== Lock ==
Unofficial name.
No input/output.
== Unlock ==
Unofficial name.
No input/output.
== IsLocked ==
Unofficial name.
No input. Returns an output bool.
== GetLockId ==
Unofficial name.
No input. Returns an output u32.


= srepo:u, srepo:a =
= srepo:u, srepo:a =
Line 936: Line 1,010:
|-
|-
| 5 || ReadyShutdown || Preparing to transition to shutdown.
| 5 || ReadyShutdown || Preparing to transition to shutdown.
|}
= PmTransitionOrder =
This is "nn::psc::PmTransitionOrder".
{| class="wikitable" border="1"
|-
! Value
! Description
|-
| 0 || ToLowerPowerState
|-
| 1 || ToHigherPowerState
|}
= PmModuleTransitionInformation =
{| class="wikitable" border="1"
|-
! Offset
! Size
! Description
|-
| 0x00
| 0x08
| TimeBefore
|-
| 0x08
| 0x10
| TimeAfter
|-
| 0x10
| 0x04
| Result
|-
| 0x14
| 0x04
| [[#PmState|StateBefore]]
|-
| 0x18
| 0x04
| [[#PmState|StateAfter]]
|-
| 0x1C
| 0x04
| Reserved
|}
|}


[[Category:Services]]
[[Category:Services]]