Mode Control Services PXI: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
No edit summary
ElementW (talk | contribs)
m Add anchors
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Anchor|PXIMC}}{{Anchor|pxi:mc}}
="pxi:mc" service=
="pxi:mc" service=
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 6: Line 7:
!  Description
!  Description
|-
|-
| 0x0001....
| 0x00010000
| [[1.0.0-0]]
| [[1.0.0-0]]
? (don't send with zero params, freezes)
ShutdownPxi. This is sent to the ARM9 by the ARM11 PXI-module, when PXI-module is shutting down due to receiving [[Services|srv]] notification-ID 0x100. This sets [[CONFIG_Registers#CFG_BOOTENV|CFG_BOOTENV]] to the value for CTR (0x1), and is only time it's set by Process9.
|-
|-
| 0x0002....
| 0x0002....
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, does nothing
| Stubbed, does nothing...
|-
|-
| 0x0003....
| 0x0003....
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, does nothing
| Stubbed, does nothing...
|-
|-
| 0x0004....
| 0x0004....
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, does nothing
| Stubbed, does nothing...
|-
|-
| 0x0005....
| 0x00050040
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Sleep (bool sleep). Used by [[PTM_Services|PTM]] module. When seeing this command with a non-zero argument [[PXI_Services|PXI]] module will block all other communication with Process9. This makes Process9
call svcKernelSetState(2), which will make Kernel9 synchronize with the Arm11's own KernelSetState(2) code and wait for a PXI_SYNC interrupt (sleep exit command).
|-
|-
| 0x0006....
| 0x0006....
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, does nothing
| Stubbed, does nothing...
|-
|-
| 0x00070000
| 0x00070000
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, writes uninitialized stack byte to (u8*)(cmdbuf+4)
| Stubbed, writes uninitialized stack byte to (u8*)(cmdbuf+4).
|-
|-
| 0x0008....
| 0x0008....
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, returns 0xE0C0EC03
| Stubbed, returns 0xE0C0EC03...
|-
|-
| 0x0009....
| 0x0009....
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, returns 0xE0C0EC03
| Stubbed, returns 0xE0C0EC03...
|-
|-
| 0x000A....
| 0x000A....
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| Sets internal Process9 date/time, same as [[Legacy_FIRM_PXI#Command_0xA]]
|-
|-
| 0x000B....
| 0x000B....
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, does some unnecessary copying to stack
| Stubbed, does some unnecessary copying to stack...
|-
|-
| 0x000C....
| 0x000C....
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, does some unnecessary copying to stack
| Stubbed, does some unnecessary copying to stack...
|}
|}



Latest revision as of 11:55, 18 September 2024

"pxi:mc" service

Command Header Available since system version Description
0x00010000 1.0.0-0 ShutdownPxi. This is sent to the ARM9 by the ARM11 PXI-module, when PXI-module is shutting down due to receiving srv notification-ID 0x100. This sets CFG_BOOTENV to the value for CTR (0x1), and is only time it's set by Process9.
0x0002.... 1.0.0-0 Stubbed, does nothing...
0x0003.... 1.0.0-0 Stubbed, does nothing...
0x0004.... 1.0.0-0 Stubbed, does nothing...
0x00050040 1.0.0-0 Sleep (bool sleep). Used by PTM module. When seeing this command with a non-zero argument PXI module will block all other communication with Process9. This makes Process9

call svcKernelSetState(2), which will make Kernel9 synchronize with the Arm11's own KernelSetState(2) code and wait for a PXI_SYNC interrupt (sleep exit command).

0x0006.... 1.0.0-0 Stubbed, does nothing...
0x00070000 1.0.0-0 Stubbed, writes uninitialized stack byte to (u8*)(cmdbuf+4).
0x0008.... 1.0.0-0 Stubbed, returns 0xE0C0EC03...
0x0009.... 1.0.0-0 Stubbed, returns 0xE0C0EC03...
0x000A.... 1.0.0-0 Sets internal Process9 date/time, same as Legacy_FIRM_PXI#Command_0xA
0x000B.... 1.0.0-0 Stubbed, does some unnecessary copying to stack...
0x000C.... 1.0.0-0 Stubbed, does some unnecessary copying to stack...

Back to↓

Services API