I ran the ARM cotex-A9 versatile express configuration on Fastmodel, and tried realized "smc" function.
But when I wanted to make a further progress,
I found that read the TZPC(0x100e600) and TZASC(0x100ec00) address(at the address there are 2 registers called TZPCR0SIZE and TZC configuration )
only returned me a meaningless value(0xdfefefef) .
While according to the arm documents , the reset value of that 2 registers should be 0x200 and a value depend of the SOC configuration.
What's the problem???
The Fast Models product does include a model of the BP147 TrustZone Protection Controller (BP_147 component) and the TZC-400 TrustZone Address Space Controller (TZC_400 component). However these models are not part of the standard Cortex-A9 VE platform model.
To define TrustZone security for arbitrary memory regions you require the TZC-400 to be incorporated into the model of your SoC.
Can you provide more detail on the problem you are trying to solve using Fast Models, and the version of Fast Models to which you have access?
my problem: I used fastmodel to fun FVP_VE_Cortex-A9x4, and tried to read the TZPC and TZASC corresponding registers,and got nothing meaningful
I am using the 8.3 version of fastmodel
The Fast Models Tools allow you create system models. The FVP_VE_Cortex-A9x4 is an example project, based on the Versatile Express development board. This example project does not include a TZPC or a TZASC - which is why you can't access them.
As Jon mentioned, there are component models of the BP147 and TZASC. So your options are to create your own project (with these components in), or modify the example project to add them in. Partly it will depend on what it is you're wanting to do.
One other thought, one of the other example platforms (FVP_Base) does include a TZASC.