Difference between revisions of "F00D Communication Ports"
Jump to navigation
Jump to search
m (4 revisions imported) |
CelesteBlue (talk | contribs) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Ports == | == Ports == | ||
− | |||
− | + | These ports are used to communication between ARM TZ and cMeP [[Second Loader]] and [[Secure Kernel]]. | |
− | These are | ||
− | |||
− | ARM can write a 32-bit response to 0xE0000010. | + | == Cmep messages == |
− | For ARM-> | + | |
+ | 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> | <pre> | ||
− | 1 = Request | + | 1 = Request succeeded |
4 = Debug string | 4 = Debug string | ||
0x101 = Main init started | 0x101 = Main init started | ||
Line 23: | Line 23: | ||
</pre> | </pre> | ||
+ | === Known Ports === | ||
− | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! Address !! RW !! Use !! Description | + | ! Address !! RW permissions !! Use !! Description |
+ | |- | ||
+ | | 0xE0000000 || RW || Status || Read for status | ||
+ | |- | ||
+ | | 0xE0000004 || RW || Result || cMeP to ARM. 1: success. 3: command not found. 5: Invalid arguments. | ||
|- | |- | ||
− | | | + | | 0xE0000010 || RW || Command || ARM to cMeP. Send a command to cMeP. |
|- | |- | ||
− | | | + | | 0xE0000014 || RW || Arguments || ARM to cMeP. (PA & 1) == 1: valid arguments. |
|} | |} |
Latest revision as of 03:20, 27 December 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 |
0xE0000004 | RW | Result | cMeP to ARM. 1: success. 3: command not found. 5: Invalid arguments. |
0xE0000010 | RW | Command | ARM to cMeP. Send a command to cMeP. |
0xE0000014 | RW | Arguments | ARM to cMeP. (PA & 1) == 1: valid arguments. |