Re: How to enable Guest Linux VM on Raspberry PI3?

2019-06-16 Thread Adam Lackorzynski
Hi,

but this also indicates that you did not configure L4Linux for ARMv6 or
v7, as with those there would not be a swp instruction in the code
I believe. For the rpi3 v7 should be selected.

Adam

On Thu Jun 13, 2019 at 20:58:58 +, Lei Zhou wrote:
> Never mind and figured out the problem by googling.   Need enable 
> "CONFIG_SWP_EMULATE"  --- Emulate SWP/SWPB instructions when configuring the 
> L4Linux.
> 
> Linux VM is up running on Rpi 3 and will enable other use cases further on 
> Rpi 3.
> 
> Thanks,
> Lei. 
> 
> 
> 
> From: Lei Zhou
> Sent: Thursday, June 13, 2019 12:24 PM
> To: Adam Lackorzynski; [email protected]
> Subject: RE: How to enable Guest Linux VM on Raspberry PI3?
> 
> 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@CI070004358) (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: 0300 - 0360 [6144 KiB].
> Areas: Text: 0300 - 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: 0x300 to 0x3499fff [4712 KiB]
> L4x: section-with-init-text: Virt: 0x300 to 0x3499fff [4712 KiB]
> L4x:data: Virt: 0x300 to 0x3499fff [4712 KiB]
> L4x: Main thread running, waiting...
> L4x: Memory size: 64MB
> L4x: Setting superpages for main memory
> L4x: Adjusted memory start: 0300
> L4x: Main memory: Virt: 0x360 to 0x75f [65536 KiB]
> L4x: vmalloc area: 0760 - 0f60
> L4x:text: Virt: 0x300 to 0x3499fff [4712 KiB]
> Loading: rom/ramdisk-arm.rd
> INITRD: Size of RAMdisk is 1449KiB
> RAMdisk from 2000 to 0016c400 [1449KiB]
> l4lx_thread_create: Created thread 41f (timer0) (u:b3000a00, v:, 
> 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 [[email protected]] on behalf of Adam 
> Lackorzynski [[email protected]]
> Sent: Thursday, June 13, 2019 11:43 AM
> To: [email protected]
> 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 +, 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 conf

RE: How to enable Guest Linux VM on Raspberry PI3?

2019-06-13 Thread Lei Zhou
Never mind and figured out the problem by googling.   Need enable 
"CONFIG_SWP_EMULATE"  --- Emulate SWP/SWPB instructions when configuring the 
L4Linux.

Linux VM is up running on Rpi 3 and will enable other use cases further on Rpi 
3.

Thanks,
Lei. 



From: Lei Zhou
Sent: Thursday, June 13, 2019 12:24 PM
To: Adam Lackorzynski; [email protected]
Subject: RE: How to enable Guest Linux VM on Raspberry PI3?

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@CI070004358) (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: 0300 - 0360 [6144 KiB].
Areas: Text: 0300 - 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: 0x300 to 0x3499fff [4712 KiB]
L4x: section-with-init-text: Virt: 0x300 to 0x3499fff [4712 KiB]
L4x:data: Virt: 0x300 to 0x3499fff [4712 KiB]
L4x: Main thread running, waiting...
L4x: Memory size: 64MB
L4x: Setting superpages for main memory
L4x: Adjusted memory start: 0300
L4x: Main memory: Virt: 0x360 to 0x75f [65536 KiB]
L4x: vmalloc area: 0760 - 0f60
L4x:text: Virt: 0x300 to 0x3499fff [4712 KiB]
Loading: rom/ramdisk-arm.rd
INITRD: Size of RAMdisk is 1449KiB
RAMdisk from 2000 to 0016c400 [1449KiB]
l4lx_thread_create: Created thread 41f (timer0) (u:b3000a00, v:, 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 [[email protected]] on behalf of Adam 
Lackorzynski [[email protected]]
Sent: Thursday, June 13, 2019 11:43 AM
To: [email protected]
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 +, 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 &#

RE: How to enable Guest Linux VM on Raspberry PI3?

2019-06-13 Thread Lei Zhou
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@CI070004358) (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: 0300 - 0360 [6144 KiB].
Areas: Text: 0300 - 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: 0x300 to 0x3499fff [4712 KiB]
L4x: section-with-init-text: Virt: 0x300 to 0x3499fff [4712 KiB]
L4x:data: Virt: 0x300 to 0x3499fff [4712 KiB]
L4x: Main thread running, waiting...
L4x: Memory size: 64MB
L4x: Setting superpages for main memory
L4x: Adjusted memory start: 0300
L4x: Main memory: Virt: 0x360 to 0x75f [65536 KiB]
L4x: vmalloc area: 0760 - 0f60
L4x:text: Virt: 0x300 to 0x3499fff [4712 KiB]
Loading: rom/ramdisk-arm.rd
INITRD: Size of RAMdisk is 1449KiB
RAMdisk from 2000 to 0016c400 [1449KiB]
l4lx_thread_create: Created thread 41f (timer0) (u:b3000a00, v:, 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 [[email protected]] on behalf of Adam 
Lackorzynski [[email protected]]
Sent: Thursday, June 13, 2019 11:43 AM
To: [email protected]
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 +, 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; [email protected]
> Subject: RE: How to enable Guest Linux VM on Raspberry PI3?
>
> Hi Adam,
>
> I built Fiasco/L4Re and L4Linux vmlinuz, my own ramdisk-

Re: How to enable Guest Linux VM on Raspberry PI3?

2019-06-13 Thread Adam Lackorzynski
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 +, 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; [email protected]
> 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 boo

RE: How to enable Guest Linux VM on Raspberry PI3?

2019-06-12 Thread Lei Zhou
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; [email protected]
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:2000;]
MOE: Hello world
MOE: found 501008 KByte free memory
MOE: found RAM from 54000 to 1f00
MOE: allocated 495 KByte for the page array @0x55000
MOE: virtual user address space [0-bfff]
MOE: rom name space cap -> [C:103000]
MOE: rwfs name space cap -> [C:105000]
  BOOTFS: [110-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: 

RE: How to enable Guest Linux VM on Raspberry PI3?

2019-06-11 Thread Lei Zhou
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:2000;]
MOE: Hello world
MOE: found 501008 KByte free memory
MOE: found RAM from 54000 to 1f00
MOE: allocated 495 KByte for the page array @0x55000
MOE: virtual user address space [0-bfff]
MOE: rom name space cap -> [C:103000]
MOE: rwfs name space cap -> [C:105000]
  BOOTFS: [110-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:   e1a4mov r0, r4  
 102cb20:   e34f1ff0movtr1, #65520  ; 0xfff0
 102cb24:   e30c825cmovwr8, #49756  ; 0xc25c
 102cb28:   ebffa155bl  1015084 
 102cb2c:   ed9f0b71vldrd0, [pc, #452]  ; 102ccf8 

 102cb30:   e1a4mov r0, r4  
 102cb34:   e3a01088mov r1, #136; 0x88  
 102cb38:   e3406102movtr6, #258; 0x102 
 102cb3c:   ebffe4f1bl  1025f08 
=

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; [email protected]
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  code base and was able to make 
Linux VM upworking on the QEMU virtual ARM platform.   Was using the source 
code from https://svn.l4re.org/repos/oc/l4re/.   Seems they are not exactly the 
same.

Have a great weekend!

Lei

From: l4-hackers [[email protected]] on behalf of Adam 
Lackorzynski [[email protected]]
Sent: Friday, June 07, 2019 3:54 PM
To: [email protected]
Subject: Re: How to enable Guest Linux VM on Raspberry PI3?

On Fri Jun 07, 2019 at 18:27:18 +, 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 

RE: How to enable Guest Linux VM on Raspberry PI3?

2019-06-07 Thread Lei Zhou
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  code base and was able to make 
Linux VM upworking on the QEMU virtual ARM platform.   Was using the source 
code from https://svn.l4re.org/repos/oc/l4re/.   Seems they are not exactly the 
same.

Have a great weekend!

Lei 

From: l4-hackers [[email protected]] on behalf of Adam 
Lackorzynski [[email protected]]
Sent: Friday, June 07, 2019 3:54 PM
To: [email protected]
Subject: Re: How to enable Guest Linux VM on Raspberry PI3?

On Fri Jun 07, 2019 at 18:27:18 +, 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-7f]
> MOE: rom name space cap -> [C:103000]
> MOE: rwfs name space cap -> [C:105000]
>   BOOTFS: [4110-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@2 failed. 
> Disabling device.
> VMM[]: [email protected],virtiocap: capability net is invalid.
> VMM[vm]: Device creation for virtual device virtio_net@1 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
> [email protected]
> 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
[email protected]
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
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


Re: How to enable Guest Linux VM on Raspberry PI3?

2019-06-07 Thread Adam Lackorzynski


On Fri Jun 07, 2019 at 18:27:18 +, 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://github.com/kernkonzept/manifest/wiki/LinuxVM 
> 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-7f]
> MOE: rom name space cap -> [C:103000]
> MOE: rwfs name space cap -> [C:105000]
>   BOOTFS: [4110-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@2 failed. 
> Disabling device.
> VMM[]: [email protected],virtiocap: capability net is invalid.
> VMM[vm]: Device creation for virtual device virtio_net@1 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
> [email protected]
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers

___
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


Re: How to enable Guest Linux VM on Raspberry PI3?

2019-06-07 Thread Jakub Jermar
Hi Lei Zhou!

On 6/7/19 8:27 PM, 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://github.com/kernkonzept/manifest/wiki/LinuxVM 
> 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?

For aarch64, use uvmm.

> 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-7f]
> MOE: rom name space cap -> [C:103000]
> MOE: rwfs name space cap -> [C:105000]
>   BOOTFS: [4110-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.

"The 'vbus' capability not found" message is expected as you are not (or
at least the tutorial scenario) is not passing any vbuses to the guest.
This is only needed when you want to pass some I/O devices to the guest.
For the GIC you don't do this with the current sources (though it was
necessary in the past).

> VMM[main]: Hello out there.
> VMM: FATAL: ERROR: ARM GIC virtualization does not work without passing the 
> virtual GICC via the vbus

This makes me think that you are probably not using recent sources. Can
you confirm? With the sources from our GitHub[1], you don't need to put
the GIC on the vbus.

Jakub

[1] https://github.com/kernkonzept

-- 
Kernkonzept GmbH at Dresden, Germany, HRB 31129, CEO Dr.-Ing. Michael
Hohmuth

___
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers