F00D Communication Ports
Revision as of 13:28, 17 January 2020 by CelesteBlue (talk | contribs)
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 |