Are these the 2 secure ranges?0x0000000000..0x0007FFFFFF (128MB))0x007E000000..0x007FFFFFFF (32MB) I'm wondering why did they split it up like this? Also, lower down in the lisa file, it seems that if a secure access is made on a non-secure region, then an abort occurs.This means that the normal and secure worlds are completely isolated? Even secure cannot see all memory? -Earlence
I am trying to learn about TrustZone and I've downloaded the FastModels 8.1 simulator.The license I can obtain is only for the Cortex A8 Eval Board, and The ref manual for FastModels implies thatno trust zone is built in.Which fast model I can use to experiment with trust zone?How do I get the required evaluation license? I am a student and have a .edu email address?Anyone else with similar experience? My first step is to boot a linux kernel in secure world.-Earlence
I've been looking at other Models in FastModels and these seem to have trust zone related blocksBuild_AEMv8ABuild_Cortex-A9x1 under FVP_VE.Is this correct?Where can I get their memory maps? Where secure memory is located? Where normal memory is located?Is there a way to dynamically configure sections of RAM as secure/normal? Is this information specific to the board/model?-Earlence
I've looked at the LISA files for the ARM v8 EB under FVP_EB. They don't have any trust zone components.
That makes sense.Are you aware of any of the Fast Models that include a TZC component that supports dynamic mapping of memory to secure/normal worlds?I've been looking at the Cortex A9x4 VE board, and it doesn't seem to have the TZPC (BP147) component as well. Does this mean that all secure RAM/normal RAMmappings are final and static and "written in hardware" ?-Earlence
Ok, So I;ve been looking at the VE Cortex A9 LISA files for the daughterboard and I see the following lines:securitydecoder.pvbus_m_range[ 0x0000000000..0x0007FFFFFF ] => secure_region.pvbus_input [ 0x0000000000..0x0007FFFFFF ]; securitydecoder.pvbus_m_range[ 0x0008000000..0x007DFFFFFF ] => nonsecure_region.pvbus_input[ 0x0008000000..0x007DFFFFFF ]; securitydecoder.pvbus_m_range[ 0x007E000000..0x007FFFFFFF ] => secure_region.pvbus_input [ 0x007E000000..0x007FFFFFFF ]; securitydecoder.pvbus_m_range[ 0x0080000000..0xFFFFFFFFFF ] => nonsecure_region.pvbus_input[ 0x0080000000..0xFFFFFFFFFF ];So there are 2 secure and 2 nonsecure regions?Also the following lines:securepvbusdecoder.pvbus_m_range[0x0004000000..0x000401FFFF] => secureSRAM.pvbus; // 128kB Secure SRAM securepvbusdecoder.pvbus_m_range[0x007E000000..0x007FFFFFFF] => secureDRAM.pvbus; // 32MB Secure DRAMSo I'm guessing that these are the physical address ranges for secure static and secure dynamic RAM?How does it relate to the regions defined above?-Earlence