Difference between revisions of "SceDeci4pCpup"

From Vita Development Wiki
Jump to navigation Jump to search
 
(17 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 44: Line 41:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 1.69 || 0x2bad7b39
+
| 0.990-1.69 || 0x2bad7b39
 
|}
 
|}
  
<source lang="C">
+
Start update.
int SceDeci4pCpupForDriver_2bad7b39(int a1);
+
 
</source>
+
<source lang="C">int SceDeci4pCpupForDriver_2bad7b39(int ctx);</source>
  
 
=== SceDeci4pCpupForDriver_765F7234 ===
 
=== SceDeci4pCpupForDriver_765F7234 ===
Line 63: 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 83: 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 93: 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 121: Line 114:
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 0.940 - 1.69 || 0x2015C7CB
+
| 0.940 - 3.60 || 0x2015C7CB
 
|}
 
|}
  
Line 154: 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 166: Line 157:
 
|}
 
|}
  
<source lang="C">
+
<source lang="C">int sceDeci4pCpupTriggerUpdateForDriver(int ctx);</source>
int sceDeci4pCpupTriggerUpdateForDriver(int a1);
 
</source>
 
  
 
=== sceDeci4pCpupGetProgressForDriver ===
 
=== sceDeci4pCpupGetProgressForDriver ===
Line 179: 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 190: 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