Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 860

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 839

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 834

Warning: Invalid argument supplied for foreach() in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 835

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 839

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 860

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /www/htdocs/w0094f3d/wiki/includes/MagicWord.php on line 860
Xrpc call list - t-hack.com - Hack X300T / X301T

Xrpc call list

From t-hack.com - Hack X300T / X301T
Jump to: navigation, search
 
Line 10: Line 10:
 
| serial number [0..31](LSB) || [32..63] || [64..91] || [92..127](MSB) || 0
 
| serial number [0..31](LSB) || [32..63] || [64..91] || [92..127](MSB) || 0
 
|}
 
|}
 +
  
 
== XRPC_ID_GETRANDOM (2) ==
 
== XRPC_ID_GETRANDOM (2) ==
Line 22: Line 23:
 
| Random Number || 0 || 0 || 0 || 0
 
| Random Number || 0 || 0 || 0 || 0
 
|}
 
|}
 +
  
 
== XRPC_ID_GETBONDINGCOMMENT (3)==
 
== XRPC_ID_GETBONDINGCOMMENT (3)==
Line 34: Line 36:
 
| Bonding comment [0..31] (LSB)  || Bonding comment [32..63] (MSB)  || 0 || 0 || 0
 
| Bonding comment [0..31] (LSB)  || Bonding comment [32..63] (MSB)  || 0 || 0 || 0
 
|}
 
|}
 +
  
 
== XRPC_ID_SHA1XOS (4)==
 
== XRPC_ID_SHA1XOS (4)==
Line 48: Line 51:
 
| xos SHA1 hash [0..31] (LSB) || [32..63] || [64..91] || [92..127] || [128..159](MSB)
 
| xos SHA1 hash [0..31] (LSB) || [32..63] || [64..91] || [92..127] || [128..159](MSB)
 
|}
 
|}
 +
  
 
== XRPC_ID_XLOAD (5) ==
 
== XRPC_ID_XLOAD (5) ==
Line 65: Line 69:
 
* For xtasks and ucode type xloads, and from xos version >= D0, param1 is the dram controller to load the xtask too.
 
* For xtasks and ucode type xloads, and from xos version >= D0, param1 is the dram controller to load the xtask too.
 
* Otherwise param1 is reserved (should be 0).
 
* Otherwise param1 is reserved (should be 0).
 +
  
 
== XRPC_ID_XUNLOAD (17) ==
 
== XRPC_ID_XUNLOAD (17) ==
Line 77: Line 82:
 
| 0 || 0 || 0 || 0 ||0
 
| 0 || 0 || 0 || 0 ||0
 
|}
 
|}
 +
 +
 +
== XRPC_ID_REBOOT (19) ==
 +
reboot.
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| 0 || 0 || 0 || 0 || 0
 +
|-
 +
! output
 +
| 0 || 0 || 0 || 0 ||0
 +
|}
 +
 +
 +
== XRPC_ID_XBIND (20) ==
 +
Bind the certificate type to a specific certificate (payload is the binding token). After binding the xload operation will only succeed when using the right certificate.
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| xbind payload size || 0 || 0 || 0 || 0
 +
|-
 +
! output
 +
| 0 || 0 || 0 || 0 ||0
 +
|}
 +
 +
 +
== XRPC_ID_XSTART (21) ==
 +
Instantiate an xtask or microcode using the specified image. The image needs to be previously loaded with XLOAD xrpc. The registers a0-a3 are initialized before starting the xtask.
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| Image ID || xtask initial a0 register / microcode target DSP or RISC. || task initial a1 register / 0 || task initial a2 register / 0 || task initial a3 register / 0
 +
|-
 +
! output
 +
| xtask id (aka Thread ID) / 0 || 0 || 0 || 0 ||0
 +
|}
 +
 +
* If ImageID<100, XSTART will start the xtask loaded in the 'ImageID' xtask image slot. If ImageID>=100, XSTART will start the microcode loaded in the 'ImageID-100' microcode image slot.
 +
* In case of microcode loading, param1 indicates the target DSP/RISC on which the microcode is going to be started:
 +
 +
{| border="1"
 +
|-
 +
|0|| Video Risc 0
 +
|-
 +
|1|| Video Risc 1
 +
|-
 +
|2|| Audio DSP 0
 +
|-
 +
|3|| Audio DSP 1
 +
|-
 +
|4|| Demux Risc
 +
|}
 +
 +
* In case of microcode loading, param2..param4 are reserved, and output parameters are also all reserved.
 +
 +
 +
== XRPC_ID_XKILL (22) ==
 +
Send a signal to an xtask. Use signal number -1 to stop an xtask.
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| xtask id (aka Thread ID) || Signal number || 0 || 0 || 0
 +
|-
 +
! output
 +
| 0 || 0 || 0 || 0 ||0
 +
|}
 +
 +
* In case of a multi-threaded xtask, xkill will only signal or stop one specific thread.
 +
* There is no way to kill all spawned threads at once.
 +
* Each thread must terminate or be stopped individually.
 +
 +
 +
== XRPC_ID_GETBINDING (24) ==
 +
Get current binding. Return the SHA-1 of the current bound certificate for a particular certificate type. XRPC will fail if type is not bound.
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| cert id || 0 || 0 || 0 || 0
 +
|-
 +
! output
 +
| SHA1 hash [0..31] (LSB) ||[32..63] ||[64..91] ||[92..127]  ||[128..159] (MSB)
 +
|}
 +
 +
 +
== XRPC_ID_GETOWNER (25) ==
 +
Get current owner of a sflash (secure flash) sector. Return the SHA-1 of the certificate of the owner of the sector. XRPC will fail if type sector is not currently owned.
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| sector number || 0 || 0 || 0 || 0
 +
|-
 +
! output
 +
| SHA1 hash [0..31] (LSB) ||[32..63] ||[64..91] ||[92..127]  ||[128..159] (MSB)
 +
|}
 +
 +
 +
== XRPC_ID_VERSION (27) ==
 +
VERSION returns the XOS version. Available for xos version >= 0xD0.
 +
 +
The version is returned in param0 as follows:
 +
 +
For development xos ('M' versions) : param0 = 'M' << 24 | version
 +
 +
For production xos ('P' versions) : param0 = 'P' << 24 | version
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| 0 || 0 || 0 || 0 || 0
 +
|-
 +
! output
 +
| Version number ||0||0||0||0
 +
|}
 +
 +
 +
== XRPC_ID_GETPROTECTION (23) ==
 +
Get current protection register settings (PBUS settings).
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| 0 || Gbus address of the protection register.  || 0 || 0 || 0
 +
|-
 +
! output
 +
| Value of the protection register. ||0||0||0||0
 +
|}
 +
 +
 +
== XRPC_ID_SETENHANCEDMODE (26) ==
 +
Switch XOS to enhanced security mode.
 +
{| border="1"
 +
!!! param0  !! param1 !! param2 !! param3 !! param4
 +
|-
 +
! input
 +
| 0 || DRAM0 XPU Zone allocator size || DRAM0 Risc Zone C allocator size || DRAM1 XPU Zone allocator size || DRAM1 Risc Zone C allocator size
 +
|-
 +
! output
 +
| 0 ||0||0||0||0
 +
|}
 +
 +
*  Switching to enhanced mode causes the following to happen:
 +
** All running xtasks are killed.
 +
** All loaded xtasks are unloaded.
 +
** Irq Handler is killed and unloaded.
 +
** All running codec microcodes are stopped.
 +
** All loaded codec microcodes are unloaded.
 +
** DRAM controller config register is protected from host access and restored to the proper initial value as determined at XOS boot time.
 +
** XOS allocators are reinitialized using size values passed in param1...param4.
 +
** Curtains are reinitialized to the default value, according to the allocators size.
 +
* The allocators size must be a power of 2, param0...param4 only contain the power, in the same way as the xos xenv parameters (x.l2xz, x.l2rzc, x.l2xz1, x.l2rzc1).

Latest revision as of 18:34, 15 June 2009

Personal tools