On Tue Nov 20, 2012 at 12:19:39 +0800, meng-qy wrote:
Hi, all:
Now,we have transplanted fiasco to imx 51 bbg board. When we use l4_vm_run to init a
NS world(refer to the example of vm-tz), the system stop in the step of "VM run". More specially,
we stop with the function of "tz_switch_to_ns" according to debug info. Following is our log info:
RAM:------------------------ [0:90000000;90000fff] [0:90061000;9008ffff] [0:90097000;90097fff] [0:9009f000;9013ffff] [4:90140000;90172fff] [0:90173000;90177fff] [4:90178000;9018efff] [0:9018f000;9100ffff] [4:91010000;91010fff] [0:91011000;910fffff] [4:91100000;91134fff] [0:91135000;aeffffff] IOMEM:---------------------- [0:0;8fffffff] [0:b0000000;ffffffff] MOE: Hello world MOE: found 506952 KByte free memory MOE: found RAM from 90000000 to af000000 MOE: allocated 496 KByte for the page array @0x9009f000 MOE: virtual user address space [0-bfffffff] MOE: rom name space cap -> [C:501000] BOOTFS: [91100000-91119428] [C:503000] l4re BOOTFS: [9111a000-91133544] [C:504000] vm-tz BOOTFS: [91134000-911341e4] [C:505000] test.bin MOE: cmdline: moe --init=rom/vm-tz MOE: Starting: rom/vm-tz MOE: loading 'rom/vm-tz' Vmm started Vm run
Our configuration is: Ram_base = 0x60009000, // The reserved address in imx51, l4sigma0_map_iomem() seems ok. Ram_size = 0x4000000, // 128 MB Start_addr = Ram_base + 0x1000000, // +1MB
Btw, this is 16M
test.bin is bare uart test-app which tested ok in imx51 bbg, we set entry "0x60009000"
corresponds with Start_addr.
Maybe we make some mistakes or some wrong understanding, can someone give some guidance and suggestion?
Memory on imx51 is starting at 0x90000000. At 0x60000000 there are pheripherals, i.e. there's no usable memory where something can be copied to (or executed). If you want to execute something it needs to be in the region 0x90000000-0xafffffff. A simple trick is to reduce the memory for secure side (e.g. via imx51.conf) and use the rest for NS.
Adam