SceDeci4pCpup: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
 
(15 intermediate revisions by 2 users not shown)
Line 4: Line 4:
== Module ==
== Module ==


=== Known NIDs ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! Name !! World !! NID
! Version !! World
|-
| 1.69 || SceDeci4pCpup || Non-secure || 0x02FAACFD
|-
|-
| 3.60 || SceDeci4pCpup || Non-secure || ?
| 1.69-3.60 || Non-secure
|}
|}


Line 47: Line 44:
|}
|}


<source lang="C">int SceDeci4pCpupForDriver_2bad7b39(int unk_cp_firmware);</source>
Start update.
 
<source lang="C">int SceDeci4pCpupForDriver_2bad7b39(int ctx);</source>


=== SceDeci4pCpupForDriver_765F7234 ===
=== SceDeci4pCpupForDriver_765F7234 ===
Line 61: Line 60:
</source>
</source>


=== SceDeci4pCpupForDriver_DAC4F630 ===
=== sceDeci4pCpupSetRtcForDriver ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xDAC4F630
| 0.931-1.69 || 0xDAC4F630
|}
|}


<source lang="C">
<source lang="C">int sceDeci4pCpupSetRtcForDriver(int a1, int a2);</source>
int SceDeci4pCpupForDriver_DAC4F630(int a1, int a2);
</source>


=== sceDeci4pCpupInquireVersionForDriver ===
=== sceDeci4pCpupInquireVersionForDriver ===
Line 81: Line 78:
|}
|}


<source lang="C">int sceDeci4pCpupInquireVersionForDriver(int *proto_ver, int *pkg_ver, int *board_ver);</source>
<source lang="C">
// proto_ver is the CPUP protocol version (ex: 0x1000300)
int sceDeci4pCpupInquireVersionForDriver(int *proto_ver, int *pkg_ver, int *board_ver);
</source>


=== sceDeci4pCpupGetCpSerialIdForDriver ===
=== sceDeci4pCpupGetCpSerialIdForDriver ===
Line 91: Line 91:
|}
|}


Reads 0x80 bytes (or 4 bytes at offset 0x80).
<source lang="C">int sceDeci4pCpupGetCpSerialIdForDriver(char *pSerialId, SceSize *puiSize);</source>
 
<source lang="C">
// buf_size must be 0x80
int sceDeci4pCpupGetCpSerialIdForDriver(char *buf, int buf_size);
</source>


=== SceDeci4pCpup_0x4939DA45 ===
=== SceDeci4pCpup_0x4939DA45 ===
Line 119: Line 114:
! Version !! NID
! Version !! NID
|-
|-
| 0.940 - 1.69 || 0x2015C7CB
| 0.940 - 3.60 || 0x2015C7CB
|}
|}


Line 139: Line 134:
// 1: unk
// 1: unk
// 2: prepare safe shutdown
// 2: prepare safe shutdown
// 4: reboot target and CP
// 4: reboot target and CP without CP update
// 5: shutdown target and CP
// 5: shutdown target and CP with CP update
int sceDeci4pCpupExecCommand(uint32_t cmd_id);
int sceDeci4pCpupExecCommand(uint32_t cmd_id);
</source>
</source>
Line 152: Line 147:
|}
|}


<source lang="C">
<source lang="C">int sceDeci4pCpupStartUpdateForDriver(int a1, int a2, int *ctx);</source>
int sceDeci4pCpupStartUpdateForDriver(int a1, int a2, int a3);
</source>


=== sceDeci4pCpupTriggerUpdateForDriver ===
=== sceDeci4pCpupTriggerUpdateForDriver ===
Line 164: Line 157:
|}
|}


<source lang="C">
<source lang="C">int sceDeci4pCpupTriggerUpdateForDriver(int ctx);</source>
int sceDeci4pCpupTriggerUpdateForDriver(int a1);
</source>


=== sceDeci4pCpupGetProgressForDriver ===
=== sceDeci4pCpupGetProgressForDriver ===
Line 177: Line 168:


<source lang="C">
<source lang="C">
int sceDeci4pCpupGetProgressForDriver(int a1, int a2, int a3, int a4);
// res becomes 0 on CP update success, <0 on CP update failure
 
int sceDeci4pCpupGetProgressForDriver(int ctx, int *res, int a3, int a4);
</source>
</source>


Line 188: Line 181:
|}
|}


<source lang="C">
<source lang="C">int sceDeci4pCpupTransferUpdatePackageForDriver(int ctx, int a2, int a3, int a4);</source>
int sceDeci4pCpupTransferUpdatePackageForDriver(int a1, int a2, int a3, int a4);
 
</source>
=== SceDeci4pCpupForDriver_DE07478F ===
{| class="wikitable"
|-
! Version !! NID
|-
| 3.60 || 0xDE07478F
|}
 
Enter CP Update
 
=== SceDeci4pCpupForDriver_02CDA82C ===
{| class="wikitable"
|-
! Version !! NID
|-
| 3.60 || 0x02CDA82C
|}
 
Abort CP Update
 
=== SceDeci4pCpupForDriver_90339379 ===
{| class="wikitable"
|-
! Version !! NID
|-
| 3.60 || 0x90339379
|}
 
Send CP Update Segment (?)
 
=== SceDeci4pCpupForDriver_D78403C8 ===
{| class="wikitable"
|-
! Version !! NID
|-
| 3.60 || 0xD78403C8
|}
 
Commit CP Update Segment (?)
 
=== SceDeci4pCpupForDriver_7998FFD8 ===
{| class="wikitable"
|-
! Version !! NID
|-
| 3.60 || 0x7998FFD8
|}
 
Get CP Update State
 
[[Category:ARM]]
[[Category:Kernel]]
[[Category:Modules]]
[[Category:Library]]

Latest revision as of 17:24, 18 November 2023

CP : Communication Processor

Module

Version World
1.69-3.60 Non-secure

Libraries

Known NIDs

Version Name World NID
1.69 - 3.60 SceDeci4pCpupForDriver Non-secure 0x5E323A42

SceDeci4pCpupForDriver

SceDeci4pCpupForDriver_02CDA82C

Version NID
1.69 0x02CDA82C
int SceDeci4pCpupForDriver_02CDA82C(int a1);

SceDeci4pCpupForDriver_2bad7b39

Version NID
0.990-1.69 0x2bad7b39

Start update.

int SceDeci4pCpupForDriver_2bad7b39(int ctx);

SceDeci4pCpupForDriver_765F7234

Version NID
1.69 0x765F7234
int SceDeci4pCpupForDriver_765F7234(int a1, int a2, int a3, int a4);

sceDeci4pCpupSetRtcForDriver

Version NID
0.931-1.69 0xDAC4F630
int sceDeci4pCpupSetRtcForDriver(int a1, int a2);

sceDeci4pCpupInquireVersionForDriver

Version NID
0.931-3.60 0xC0AB956B
// proto_ver is the CPUP protocol version (ex: 0x1000300)
int sceDeci4pCpupInquireVersionForDriver(int *proto_ver, int *pkg_ver, int *board_ver);

sceDeci4pCpupGetCpSerialIdForDriver

Version NID
3.60 0x8139AD4E
int sceDeci4pCpupGetCpSerialIdForDriver(char *pSerialId, SceSize *puiSize);

SceDeci4pCpup_0x4939DA45

Version NID
0.940 0x4939DA45
// values seen:
// a1 = CP RTC
// a2 = 0, = 1
// a3 = activation_key, = 0
int SceDeci4pCpup_0x4939DA45(int a1, int a2, int a3);

sceDeci4pCpupGetRtcForDriver

Version NID
0.940 - 3.60 0x2015C7CB
int sceDeci4pCpupGetRtcForDriver(int a1, int a2);

sceDeci4pCpupExecCommand

Version NID
0.990-3.60 0xBBB991CD
// cmd ids:
// 0: unk
// 1: unk
// 2: prepare safe shutdown
// 4: reboot target and CP without CP update
// 5: shutdown target and CP with CP update
int sceDeci4pCpupExecCommand(uint32_t cmd_id);

sceDeci4pCpupStartUpdateForDriver

Version NID
0.990-3.60 0xDE07478F
int sceDeci4pCpupStartUpdateForDriver(int a1, int a2, int *ctx);

sceDeci4pCpupTriggerUpdateForDriver

Version NID
0.990-3.60 0xD78403C8
int sceDeci4pCpupTriggerUpdateForDriver(int ctx);

sceDeci4pCpupGetProgressForDriver

Version NID
0.990-3.60 0x7998FFD8
// res becomes 0 on CP update success, <0 on CP update failure

int sceDeci4pCpupGetProgressForDriver(int ctx, int *res, int a3, int a4);

sceDeci4pCpupTransferUpdatePackageForDriver

Version NID
0.990-3.60 0x90339379
int sceDeci4pCpupTransferUpdatePackageForDriver(int ctx, int a2, int a3, int a4);

SceDeci4pCpupForDriver_DE07478F

Version NID
3.60 0xDE07478F

Enter CP Update

SceDeci4pCpupForDriver_02CDA82C

Version NID
3.60 0x02CDA82C

Abort CP Update

SceDeci4pCpupForDriver_90339379

Version NID
3.60 0x90339379

Send CP Update Segment (?)

SceDeci4pCpupForDriver_D78403C8

Version NID
3.60 0xD78403C8

Commit CP Update Segment (?)

SceDeci4pCpupForDriver_7998FFD8

Version NID
3.60 0x7998FFD8

Get CP Update State