Cmep

This processor is hypothesized to perform most of the cryptography tasks including storing and handing of keys. There is little information about it though. The F00D Processor (named after the  field of the ELF headers) is likely a custom Toshiba MeP core.

Communication
Communication seems to go through some sort of FIFO register.

Write
To write, put the double word into. Next read  until it returns 0, which indicates the data was read by the F00D processor.

Read
To read, get a double word from. If it returns 0, no data is available. Otherwise, acknowledge that the data has been read by putting the same data into.

Extra ports
In addition to the 0xE0000000 and 0xE0000010, the communication with F00D seems to happen with other ports too.

Protocol
A 32-bit command buffer is defined below. The command is sent to the F00D processor with the method listed above.

Command ID
There are a total of 14 commands. Below are notes on different commands.

Memory
is allowed access to,  ,  , and. The address checks is likely done in software. F00D has it's own private 128KB memory from  to. F00D SELFs are typically loaded to.