Difference between revisions of "F00D Communication Ports"

From Vita Development Wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
== Ports ==
 
== Ports ==
These ports are used to communication between Trustzone and the F00D Secure Kernel and Second Loader
+
 
 +
These ports are used to communication between ARM TZ and cMeP [[Second Loader]] and [[Secure Kernel]].
 +
 
 +
== Cmep messages ==
 +
 
 +
These messages are sent to ARM TZ using the lower 16-bits at 0xE0000000. When ARM TZ has read it, it is set to 0.
 +
 
 +
ARM TZ can write a 32-bit response to 0xE0000010. For ARM->cMeP, bit0 is used to indicate the message was written by ARM TZ.
 +
 
 +
<pre>
 +
    1 = Request succeeded
 +
    4 = Debug string
 +
0x101 = Main init started
 +
0x102 = Sm can be loaded/resumed
 +
0x103 = Sm resumed successfully
 +
0x104 = Sm was shut down
 +
0x106 = Main shutting down
 +
0x107 = Suspend beginning
 +
0x108 = Ready for suspending, when using the async version.
 +
0x8016 = Error: Invalid address range
 +
0x802F = Error: Failed to init E003, E006.
 +
</pre>
 +
 
 
=== Known Ports ===
 
=== Known Ports ===
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Address !! RW !! Use !! Description  
+
! Address !! RW permissions !! Use !! Description  
 
|-
 
|-
| 0xE0000000 || RW|| Status || Read for status
+
| 0xE0000000 || RW || Status || Read for status
 
|-
 
|-
| 0xE0000010 || RW|| Command || Send a command to F00D
+
| 0xE0000010 || RW || Command || Send a command to cMeP
 
|}
 
|}

Latest revision as of 22:12, 2 September 2021

Ports

These ports are used to communication between ARM TZ and cMeP Second Loader and Secure Kernel.

Cmep messages

These messages are sent to ARM TZ using the lower 16-bits at 0xE0000000. When ARM TZ has read it, it is set to 0.

ARM TZ can write a 32-bit response to 0xE0000010. For ARM->cMeP, bit0 is used to indicate the message was written by ARM TZ.

     1 = Request succeeded
     4 = Debug string
 0x101 = Main init started
 0x102 = Sm can be loaded/resumed
 0x103 = Sm resumed successfully
 0x104 = Sm was shut down
 0x106 = Main shutting down
 0x107 = Suspend beginning
 0x108 = Ready for suspending, when using the async version.
0x8016 = Error: Invalid address range
0x802F = Error: Failed to init E003, E006.

Known Ports

Address RW permissions Use Description
0xE0000000 RW Status Read for status
0xE0000010 RW Command Send a command to cMeP