Re: Experimenting the vm-tz example on the Freescale i.mx6 SDB
Mahdi Aichouch <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <CAGBLRX5pHQG_XODkkuCbMwkHbEaC_bJTQVg9MBXm8_bOiNYjcg@mail.gmail.com> |
Hello, I am trying to test the "vm-tz", and I created a new entry in the "/src/l4/conf/modules.list". entry tz_vm roottask moe --init=rom/vm-tz module l4re module vm-tz Is my entry correct? Or there is some missing modules? How to know what modules should be included? Does someone has a successful running configuration. Is it possible to share with us a working configuration. Thank you very much in advance. Best regards, Mahdi On Tue, Mar 17, 2015 at 4:39 PM, Mahdi Aichouch <[email protected]> wrote: > Hello, > > I was able to correct the error related to the creation of the VM, by > recompiling the fiasco kernel using > the "trustzone secure side" as an Execution Model option instead of the > "Standard Mode". > > Now the code goes further and it stops at > > l4sigma0_map_iomem(sigma0_cap.cap(), Ram_base, Ram_base, Ram_size, 1); > > which return the following error: > > MOE: Hello world > MOE: found 1031204 KByte free memory > MOE: found RAM from 10000000 to 4f000000 > MOE: allocated 1008 KByte for the page array @0x10194000 > MOE: virtual user address space [0-bfffffff] > MOE: rom name space cap -> [C:501000] > BOOTFS: [11100000-11119474] [C:503000] l4re > BOOTFS: [1111a000-1113365c] [C:504000] vm-tz > MOE: cmdline: moe --init=rom/vm-tz > MOE: Starting: rom/vm-tz > MOE: loading 'rom/vm-tz' > Vmm started > Cannot map nonsecure memory No fpage received > > I used the same memory parameters of the example, that is, > the RAM base of the non secure world is 0x20000000, and > the RAM size is 0x00100000. > > Could someone help me to correct this. > > Thank you very much in advance. > > Best regards, > Mahdi > > > On Tue, Mar 17, 2015 at 2:46 PM, Mahdi Aichouch <[email protected]> > wrote: > >> Hello, >> >> I am trying to experiment the "vm-tz" example on the Freescale i.mx6 SDB >> board. >> >> At first, my goal is to understand the example, thus I am interested in >> running >> a simple test kernel instead of a full linux kernel. >> >> Specifically, I am trying to reproduce the experimentation of the article >> related to the trustzone >> implementation on Fiasco.OC L4re, "ARM Trustzone as a Virtualization >> Technique in Embedded Systems". >> In particular, it is mentioned in the article at the "Implementation" >> paragraph that "Multiplexing two or more OS is supported by our design." >> I would like to investigate this point. >> >> I created a new entry to generate the vm-tz binary. >> I added the following entry to the "src/l4/conf/modules.list" file : >> >> entry tz_vm >> roottask moe --init=rom/vm-tz >> module l4re >> module vm-tz >> >> Is my configuration entry correct, is there any missing modules that are >> required by the example? >> >> I tested the binary on the board using tftp, and I obtained the following >> results: >> >> L4 Bootstrapper >> Build: #12 Tue Mar 17 12:10:02 CET 2015, 4.8.3 20140320 (prerelease) >> Scanning up to 1024 MB RAM, starting at offset 32MB >> Memory size is 1024MB (10000000 - 4fffffff) >> RAM: 0000000010000000 - 000000004fffffff: 1048576kB >> Total RAM: 1024MB >> Scanning fiasco >> Scanning sigma0 >> Scanning moe >> Moving up to 5 modules behind 11100000 >> moving module 02 { 110a5000-110de63f } -> { 11195000-111ce63f } [235072] >> moving module 01 { 1109b000-110a438b } -> { 1118b000-1119438b } [37772] >> moving module 00 { 11044000-1109a0c7 } -> { 11134000-1118a0c7 } [352456] >> moving module 04 { 1102a000-11043597 } -> { 1111a000-11133597 } [103832] >> moving module 03 { 11010000-11029473 } -> { 11100000-11119473 } [103540] >> Loading fiasco >> Loading sigma0 >> Loading moe >> find kernel info page... >> found kernel info page at 0x10002000 >> Regions of list 'regions' >> [ 10000000, 100000e3] { e4} Root mbi_rt >> [ 10001000, 10001aff] { b00} Kern fiasco >> [ 10002000, 10062fff] { 61000} Kern fiasco >> [ 10090000, 10096edf] { 6ee0} Sigma0 sigma0 >> [ 10098000, 1009e177] { 6178} Sigma0 sigma0 >> [ 10140000, 10171d77] { 31d78} Root moe >> [ 10178000, 101934ab] { 1b4ac} Root moe >> [ 11000000, 1100f4ff] { f500} Boot bootstrap >> [ 11100000, 11133fff] { 34000} Root Module >> API Version: (87) experimental >> Sigma0 config ip:10090100 sp:00000000 >> Roottask config ip:10140260 sp:00000000 >> Starting kernel fiasco at 100012c8 >> Number of IRQs available at this GIC: 160 >> FPU0: Arch: VFPv3(3), Part: VFPv3(30), r: 4, v: 9, i: 41, t: hard, p: >> dbl/sngl >> L2: ID=410000c7 Type=9e340340 Aux=02070000 WMask=ffff S=0 >> L2: Type L2C-310 Size = 1024kB Ways=16 Waysize=64 >> SERIAL ESC: allocated IRQ 58 for serial uart >> Not using serial hack in slow timer handler. >> Welcome to Fiasco.OC (arm)! >> L4/Fiasco.OC arm microkernel (C) 1998-2013 TU Dresden >> Rev: rexported compiled with gcc 4.8.3 for i.MX6 [] >> Build: #3 Wed Mar 11 16:43:41 CET 2015 >> >> Calibrating timer loop... done. >> MDB: use page size: 20 >> MDB: use page size: 12 >> SIGMA0: Hello! >> KIP @ 10002000 >> allocated 4KB for maintenance structures >> SIGMA0: Dump of all resource maps >> RAM:------------------------ >> [4:10000000;10000fff] >> [0:10063000;1008ffff] >> [0:10097000;10097fff] >> [0:1009f000;1013ffff] >> [4:10140000;10171fff] >> [0:10172000;10177fff] >> [4:10178000;10193fff] >> [0:10194000;110fffff] >> [4:11100000;11133fff] >> [0:11134000;4effffff] >> IOMEM:---------------------- >> [0:0;fffffff] >> [0:50000000;ffffffff] >> MOE: Hello world >> MOE: found 1031220 KByte free memory >> MOE: found RAM from 10000000 to 4f000000 >> MOE: allocated 1008 KByte for the page array @0x10194000 >> MOE: virtual user address space [0-bfffffff] >> MOE: rom name space cap -> [C:501000] >> BOOTFS: [11100000-11119474] [C:503000] l4re >> BOOTFS: [1111a000-11133598] [C:504000] vm-tz >> MOE: cmdline: moe --init=rom/vm-tz >> MOE: Starting: rom/vm-tz >> MOE: loading 'rom/vm-tz' >> Vmm started >> terminate called after throwing an instance of 'N2L413Runtime_errorE' >> MOE: task 270000679 exited with 127 >> >> The code stops at the beginning when it tries to create a VM : >> >> L4Re::chksys(env->factory()->create_vm(vm)); >> >> After reading through the code, I saw that the code example is expecting >> a linux-image and an initrd to be provided. Is it possible to tell me where >> these should be added in the build directory? In my test case, the >> linux-image will be replaced by a simple kernel image. >> >> Could someone help me to correct my test case. >> >> Many thanks in advance. >> >> Best regards, >> Mahdi >> > > _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers