Thanks Adam, much appreciated! by enabling the FPU fixes the exception.
After I rebuilt the Fiasco and Rpi *.uimage, the logging moves further until the following error: ================================================= Starting binary at 0x3000268, argc=7 argv=0xafff4f8c *argv=0xb1007ff4 argv0=romz External resolver is at 0xa8000b48 ======> L4Linux starting... <======== Linux version 4.19.0-l4-svn63 (lezhou@CI0700000004358) (gcc version 7.4.1 201819 Binary name: rom/vmlinuz This is an AEABI build. Linux kernel command line (6 args): mem=64M console=ttyLv0l4x_rd=rom/ramdisk-ar1 CPU mapping (l:p)[1]: 0:0 Image: 03000000 - 03600000 [6144 KiB]. Areas: Text: 03000000 - 03305000 [3092kB] RO-Data: 03305000 - 033a8000 [652kB] Data: 033e2000 - 034130f4 [196kB] Init: 033be000 - 033e2000 [144kB] BSS: 034130f4 - 0349a000 [539kB] Device scan: Device scan done. l4lx_thread_create: Created thread 41a (cpu0) (u:b3000e00, v:b3000c00, sp:033e3) main thread will be 41a L4x: section-with-init(-data): Virt: 0x3000000 to 0x3499fff [4712 KiB] L4x: section-with-init-text: Virt: 0x3000000 to 0x3499fff [4712 KiB] L4x: data: Virt: 0x3000000 to 0x3499fff [4712 KiB] L4x: Main thread running, waiting... L4x: Memory size: 64MB L4x: Setting superpages for main memory L4x: Adjusted memory start: 03000000 L4x: Main memory: Virt: 0x3600000 to 0x75fffff [65536 KiB] L4x: vmalloc area: 07600000 - 0f600000 L4x: text: Virt: 0x3000000 to 0x3499fff [4712 KiB] Loading: rom/ramdisk-arm.rd INITRD: Size of RAMdisk is 1449KiB RAMdisk from 00002000 to 0016c400 [1449KiB] l4lx_thread_create: Created thread 41f (timer0) (u:b3000a00, v:00000000, sp:034) 'swp(b)' instruction at 03051d28 and faulting. Linux built for the wrong ARM version? 'swp(b)' instruction at 031b3604 and faulting. Linux built for the wrong ARM version? 'swp(b)' instruction at 031b3604 and faulting. ............................................................. Any comments? Thanks again, Lei ________________________________________ From: l4-hackers [l4-hackers-boun...@os.inf.tu-dresden.de] on behalf of Adam Lackorzynski [a...@os.inf.tu-dresden.de] Sent: Thursday, June 13, 2019 11:43 AM To: l4-hackers@os.inf.tu-dresden.de Subject: Re: How to enable Guest Linux VM on Raspberry PI3? Hi, you're hitting a floating point intruction. Do you have FPU support enabled in Fiasco? Adam On Thu Jun 13, 2019 at 00:35:26 +0000, Lei Zhou wrote: > I put in some printf(...) into ../pkg/ned/src/lua.cc for debugging. > > the exception seems throwing out from following function: > lua.cc ---> int lua(....) ----> > ================================= > for (int i = 0; libs[i].func; ++i) > { > printf("Ned says: Hi World! %s 021\n", libs[i].name); > luaL_requiref(L, libs[i].name, libs[i].func, 1); > lua_pop(L, 1); > } > > printf("Ned says: Hi World! leizhou 01\n"); > =========================================== > > When it's loading "package" library by invoking this function, it raises this > exception. > > LUAMOD_API int luaopen_package (lua_State *L) { > createclibstable(L); > luaL_newlib(L, pk_funcs); /* create 'package' table */ > createsearcherstable(L); > /* set field 'path' */ > setpath(L, "path", LUA_PATHVARVERSION, LUA_PATH_VAR, LUA_PATH_DEFAULT); > /* set field 'cpath' */ > setpath(L, "cpath", LUA_CPATHVARVERSION, LUA_CPATH_VAR, LUA_CPATH_DEFAULT); > /* store config information */ > lua_pushliteral(L, LUA_DIRSEP "\n" LUA_PATH_SEP "\n" LUA_PATH_MARK "\n" > LUA_EXEC_DIR "\n" LUA_IGMARK "\n"); > lua_setfield(L, -2, "config"); > /* set field 'loaded' */ > luaL_getsubtable(L, LUA_REGISTRYINDEX, "_LOADED"); > lua_setfield(L, -2, "loaded"); > /* set field 'preload' */ > luaL_getsubtable(L, LUA_REGISTRYINDEX, "_PRELOAD"); > lua_setfield(L, -2, "preload"); > lua_pushglobaltable(L); > lua_pushvalue(L, -2); /* set 'package' as upvalue for next lib */ > luaL_setfuncs(L, ll_funcs, 1); /* open lib into global table */ > lua_pop(L, 1); /* pop global table */ > return 1; /* return 'package' table */ > } > > Any hints would be greatly appreciated! > Lei > > > ________________________________________ > From: Lei Zhou > Sent: Tuesday, June 11, 2019 7:10 PM > To: Adam Lackorzynski; l4-hackers@os.inf.tu-dresden.de > Subject: RE: How to enable Guest Linux VM on Raspberry PI3? > > Hi Adam, > > I built Fiasco/L4Re and L4Linux vmlinuz, my own ramdisk-armv7.cpio.gz. > > This is my l4linux.cfg content: > ============================================== > -- vim:set ft=lua: > > local L4 = require("L4"); > > L4.default_loader:start({ log = L4.Env.log:m("rws"), }, > "rom/vmlinuz mem=64M console=ttyLv0 " .. > "l4x_rd=rom/ramdisk-armv7.cpio.gz" .. L4.Info.arch() > .. ".rd " > .. "root=1:0 ramdisk_size=4000 init=/bin/sh"); > ===================================================== > This is my module.list: > > entry L4Linux-rpi3 > roottask moe rom/l4linux.cfg > module l4linux.cfg > module l4re > module ned > module vmlinuz > module ramdisk-armv7.cpio.gz > ======================================================= > > I made final bootstrap_L4Linux-rpi3.uimage. > > ===================================================== > > After Rpi3 booted up, it stopped at NED exception and hangs! And log is > pasted as below: > > [0:20000000;ffffffff] > MOE: Hello world > MOE: found 501008 KByte free memory > MOE: found RAM from 54000 to 1f000000 > MOE: allocated 495 KByte for the page array @0x55000 > MOE: virtual user address space [0-bfffffff] > MOE: rom name space cap -> [C:103000] > MOE: rwfs name space cap -> [C:105000] > BOOTFS: [1100000-1100147] [C:107000] l4linux.cfg > BOOTFS: [1101000-11164f0] [C:109000] l4re > BOOTFS: [1117000-117876c] [C:10b000] ned > BOOTFS: [1179000-15ac4d0] [C:10d000] vmlinuz > BOOTFS: [15ad000-1717400] [C:10f000] ramdisk-armv7.cpio.gz > MOE: cmdline: moe rom/l4linux.cfg > MOE: Starting: rom/ned rom/l4linux.cfg > MOE: loading 'rom/ned' > Ned says: Hi World! > L4Re: rom/ned: Unhandled exception: PC=0x102cb30 PFA=20a960 LdrFlgs=0 > ======================================================== > > $arm-***-objdump -ldSC ned // gives following disassembly at above PC: > > 102cb1c: e1a00004 mov r0, r4 > 102cb20: e34f1ff0 movt r1, #65520 ; 0xfff0 > 102cb24: e30c825c movw r8, #49756 ; 0xc25c > 102cb28: ebffa155 bl 1015084 <lua_rawsetp(lua_State*, int, > void const*)> > 102cb2c: ed9f0b71 vldr d0, [pc, #452] ; 102ccf8 > <luaopen_package(lua_State*)+0x24c> > 102cb30: e1a00004 mov r0, r4 > 102cb34: e3a01088 mov r1, #136 ; 0x88 > 102cb38: e3406102 movt r6, #258 ; 0x102 > 102cb3c: ebffe4f1 bl 1025f08 > <luaL_checkversion_(lua_State*, double, unsigned int)> > ===================================================== > > Can you please help me? or get me familiar with how to debug on the L4Re > system? > > Much appreciated! > Lei > > > > > > ________________________________________ > From: Lei Zhou > Sent: Friday, June 07, 2019 5:34 PM > To: Adam Lackorzynski; l4-hackers@os.inf.tu-dresden.de > Subject: RE: How to enable Guest Linux VM on Raspberry PI3? > > Thanks Adam & Jakub for your promptly support. > > 1> I will experiment L4Linux on my Raspberry PI3 to get guest Linux VM up. > 2> Yes, after I sycned to lastest <kernkonzept> code base and was able to > make Linux VM upworking on the QEMU virtual ARM platform. Was using the > source code from > https://urldefense.proofpoint.com/v2/url?u=https-3A__svn.l4re.org_repos_oc_l4re_&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=bnG243Q2Lb_ZjxPrdZJVO6GvYVCoSJhuyPi9ckeJGMY&s=6t5kzqj_gCHyvmjQdJ-hH5EJK98k_vVUdcG5SrfnpeY&e=. > Seems they are not exactly the same. > > Have a great weekend! > > Lei > ________________________________________ > From: l4-hackers [l4-hackers-boun...@os.inf.tu-dresden.de] on behalf of Adam > Lackorzynski [a...@os.inf.tu-dresden.de] > Sent: Friday, June 07, 2019 3:54 PM > To: l4-hackers@os.inf.tu-dresden.de > Subject: Re: How to enable Guest Linux VM on Raspberry PI3? > > On Fri Jun 07, 2019 at 18:27:18 +0000, Lei Zhou wrote: > > After I brought up L4Re and Fiasco on Raspberry PI3, would like to enable > > guest Linux VM on top of it. > > > > I'm looking at the link > > https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_kernkonzept_manifest_wiki_LinuxVM&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=VXUaQ18nPG5EFxWsPyMuOEWiVIUJi6NK5XgzyKn7IqM&s=2xhsd-rfRCHenVuPfjY7zmNW0FLbQ0Da6Io2gb_UuD4&e= > > and hoping I can do the same thing on Raspberry PI3. > > > > The link seems using hardware-assisted virtualization option uvmm based for > > guest VM. There seems also L4Linux Paravirtualization option. Which > > option should I use for me to enable guest LInux VM on Raspberry PI3? > > You can only use L4Linux as the Raspberries do not support > hardware-assisted virtualization (because they have the wrong interrupt > controller). > > > Adam > > > In addition, when I followed the link to try on QEMU first, encounter > > some "vbus" capability issue. I followed the guidance exactly as the link > > says. However, when I started the command to spawning the Linux VM as: > > $make E=uvmm-basic qemu > > > > It failed with following log: > > > > ============================================ > > MOE: virtual user address space [0-7fffffffff] > > MOE: rom name space cap -> [C:103000] > > MOE: rwfs name space cap -> [C:105000] > > BOOTFS: [41100000-411974b8] [C:107000] uvmm > > BOOTFS: [41198000-411c4e58] [C:109000] l4re > > BOOTFS: [411c5000-41246770] [C:10b000] ned > > BOOTFS: [41247000-412475c4] [C:10d000] virt-arm_virt.dtb > > BOOTFS: [41248000-41430200] [C:10f000] ramdisk-armv8.cpio.gz > > BOOTFS: [41431000-41431242] [C:111000] uvmm-basic.ned > > BOOTFS: [41432000-42618a00] [C:113000] Image.gz > > MOE: cmdline: moe rom/uvmm-basic.ned > > MOE: Starting: rom/ned rom/uvmm-basic.ned > > MOE: loading 'rom/ned' > > Ned says: Hi World! > > Ned: loading file: 'rom/uvmm-basic.ned' > > VMM[vmbus]: 'vbus' capability not found. Hardware access not possible for > > VM. > > VMM[main]: Hello out there. > > VMM: FATAL: ERROR: ARM GIC virtualization does not work without passing the > > virtual GICC via the vbus > > VMM[vm]: Device creation for virtual device virtio_uart@20000 failed. > > Disabling device. > > VMM[]: virtio_net@10000.l4vmm,virtiocap: capability net is invalid. > > VMM[vm]: Device creation for virtual device virtio_net@10000 failed. > > Disabling device. > > VMM: FATAL: ERROR: ARM GIC virtualization does not work without passing the > > virtual GICC via the vbus > > VMM[vm]: Device creation for virtual device interrupt-controller failed. > > Disabling device. > > VMM: FATAL: Parsing timer interrupt: Argument out of range > > qemu-system-aarch64: terminating on signal 2 > > Makefile:6: recipe for target 'do-all-make-goals' failed > > make: *** [do-all-make-goals] Interrupt > > ========================================================================= > > > > Any feedbacks are greatly appreciated! > > Lei Zhou > > > > _______________________________________________ > > l4-hackers mailing list > > l4-hackers@os.inf.tu-dresden.de > > https://urldefense.proofpoint.com/v2/url?u=http-3A__os.inf.tu-2Ddresden.de_mailman_listinfo_l4-2Dhackers&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=VXUaQ18nPG5EFxWsPyMuOEWiVIUJi6NK5XgzyKn7IqM&s=aHoTBnTfuPAa7iXROnGw4Zd7uV_Id7cYJn496JQlMhQ&e= > > _______________________________________________ > l4-hackers mailing list > l4-hackers@os.inf.tu-dresden.de > https://urldefense.proofpoint.com/v2/url?u=http-3A__os.inf.tu-2Ddresden.de_mailman_listinfo_l4-2Dhackers&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=VXUaQ18nPG5EFxWsPyMuOEWiVIUJi6NK5XgzyKn7IqM&s=aHoTBnTfuPAa7iXROnGw4Zd7uV_Id7cYJn496JQlMhQ&e= > > _______________________________________________ > l4-hackers mailing list > l4-hackers@os.inf.tu-dresden.de > https://urldefense.proofpoint.com/v2/url?u=http-3A__os.inf.tu-2Ddresden.de_mailman_listinfo_l4-2Dhackers&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=bnG243Q2Lb_ZjxPrdZJVO6GvYVCoSJhuyPi9ckeJGMY&s=qmeVpwwUl_xj7ezphMfPOQwV4092nOOtkEoSXxk90mM&e= Adam -- Adam a...@os.inf.tu-dresden.de Lackorzynski https://urldefense.proofpoint.com/v2/url?u=http-3A__os.inf.tu-2Ddresden.de_-7Eadam_&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=bnG243Q2Lb_ZjxPrdZJVO6GvYVCoSJhuyPi9ckeJGMY&s=oA8TiWOiLylVWTE4wZaU4gPT3-8Sw7Afr_j6SqRHSCI&e= _______________________________________________ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de https://urldefense.proofpoint.com/v2/url?u=http-3A__os.inf.tu-2Ddresden.de_mailman_listinfo_l4-2Dhackers&d=DwICAg&c=yzoHOc_ZK-sxl-kfGNSEvlJYanssXN3q-lhj0sp26wE&r=zgPsMwBitHoKyTzLULGKGmtjlsV9d0M7_KqUo-WYeMg&m=bnG243Q2Lb_ZjxPrdZJVO6GvYVCoSJhuyPi9ckeJGMY&s=qmeVpwwUl_xj7ezphMfPOQwV4092nOOtkEoSXxk90mM&e= _______________________________________________ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers