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
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?
Thanks a lot!
Looking forward your reply.
Steven Meng
--------------------------------------------------------------------------------------------------- Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you. ---------------------------------------------------------------------------------------------------
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
l4-hackers@os.inf.tu-dresden.de