Difference between revisions of "F00D Communication Ports"

From Vita Development Wiki
Jump to navigation Jump to search
m (Yifan Lu moved page Private:Communication Ports to F00D Communication Ports without leaving a redirect)
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 TrustZone and the F00D Second Loader and Secure Kernel.
  
 
== F00D messages ==
 
== F00D messages ==
These are sent to ARM using the lower 16-bits at 0xE0000000.
+
 
 +
These are sent to ARM TrustZone using the lower 16-bits at 0xE0000000.
 
When ARM has read it, it is set to 0.
 
When ARM has read it, it is set to 0.
  

Revision as of 13:28, 17 January 2020

Ports

These ports are used to communication between ARM TrustZone and the F00D Second Loader and Secure Kernel.

F00D messages

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

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

     1 = Request succeded
     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 Use Description
0xE0000000 RW Status Read for status
0xE0000010 RW Command Send a command to F00D