On Monday, April 2, 2018 at 11:12:12 AM UTC+8, Qiu Shui wrote:
> On Thursday, March 29, 2018 at 1:09:46 PM UTC+8, Jan Kiszka wrote:
> > On 2018-03-29 06:36, Qiu Shui wrote:
> > > I build the armbian with these two patches to the kernel:
> > > [1] 
> > > http://git.kiszka.org/?p=linux.git;a=commit;h=f057e9bb4ba2fca0b435d36893eb41ddd57b4208
> > > [2] 
> > > http://git.kiszka.org/?p=linux.git;a=commit;h=1c926e27072d4cca76a756058554485067ce472b
> > > 
> > > But when I build jailhouse with the armbian kernel source files(version: 
> > > Linux orangepizero 4.16.0-rc6-sunxi #2 SMP Wed Mar 28 15:33:44 CST 2018 
> > > armv7l GNU/Linux), I got these warnings:
> > > WARNING: "__stack_chk_fail" 
> > > [/home/liu/project/kiszka/jailhouse-0.8/driver/jailhouse.ko] undefined!
> > > WARNING: "__hyp_stub_vectors" 
> > > [/home/liu/project/kiszka/jailhouse-0.8/driver/jailhouse.ko] undefined!
> > > WARNING: "__stack_chk_guard" 
> > > [/home/liu/project/kiszka/jailhouse-0.8/driver/jailhouse.ko] undefined!  
> > > 
> > > I have tried some google solutions but still not solved. 
> > > 
> > > Are there any suggestions?
> > 
> > Regarding __hyp_stub_vectors: you also need
> > http://git.kiszka.org/?p=linux.git;a=commitdiff;h=2a681cb2213e3ea0f142fae7345fb80208a88a53
> > 
> > The other two issue seem to be related to some build inconsistency: Your
> > kernel was built without CONFIG_CC_STACKPROTECTOR, but when you build
> > the Jailhouse module, this feature is considered to be enabled.
> > 
> > Jan
> 
> Thank you very much!
> After two days trying, I've finally built the kernel and jailhouse module 
> successfully.
> (I am using armbian building scripts and modified the linux-sunxi-dev.config 
> with "# CONFIG_THUMB2_KERNEL is not set")
> 
> Now I can enable jailhouse and create cell:
> # jailhouse enable configs/orangepi0.cell
> # jailhouse cell create configs/orangepi0-gic-demo.cell
> # jailhouse cell list
> ID      Name                    State           Assigned CPUs           
> Failed CPUs             
> 0       Orange-Pi0              running         0,2-3                         
>                   
> 1       orangepi0-gic-demo      shut down       1  
> 
> But when I load the gic-demo.bin, it failed:
> # jailhouse cell load orangepi0-gic-demo inmates/demos/arm/gic-demo.bin
> Unhandled data read at 0x1f00000(4)                        
> FATAL: unhandled trap (exception class 0x24)                                  
>   
> pc=0xc08cc6c0 cpsr=0x20000013 hsr=0x93830007                                  
>   
> r0=0x00000190 r1=0x00020000 r2=0x0000a035 r3=0xcf807000                       
>   
> r4=0xcda54e10 r5=0xc1103d00 r6=0x00300402 r7=0xcd8d7480                       
>   
> r8=0x0002300c r9=0x00000285 r10=0x00000000 r11=0xcda47df4                     
>   
> r12=0x00300000 r13=0xcda47dd0 r14=0xc08c9ab8                                  
>   
> Parking CPU 3 (Cell: "Orange-Pi0")                                            
>   
> Cell "orangepi0-gic-demo" can be loaded
> 
> Any suggestions would be greatly appreciated :)
> 
> Is there any demo can be used to make sure my jailhouse environments are 
> ready?
> 
> Thanks!

I solved this problem by trying some different memory configurations.
The following does work:
mem=448M vmalloc=256M
/* Orangepi0.c */
                .hypervisor_memory = {
                        .phys_start = 0x5f800000,
                        .size = 0x800000,
                },
...
                /* RAM */ {
                        .phys_start = 0x40000000,
                        .virt_start = 0x40000000,
                        .size =        0x1f700000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE,
                },
                /* IVSHMEM shared memory region */ {
                        .phys_start = 0x5f700000,
                        .virt_start = 0x5f700000,
                        .size =         0x100000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
--------

But if I use the following configuration. When I enable jailhouse, it says 
"JAILHOUSE_ENABLE: Invalid argument".
/* orangepi0.c */
                .hypervisor_memory = {
                        .phys_start = 0x5c000000,
                        .size = 0x4000000,
                },
......
                /* RAM */ {
                        .phys_start = 0x40000000,
                        .virt_start = 0x40000000,
                        .size =        0x1bf00000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE |
                                JAILHOUSE_MEM_EXECUTE,
                },
                /* IVSHMEM shared memory region */ {
                        .phys_start = 0x5bf00000,
                        .virt_start = 0x5bf00000,
                        .size =         0x100000,
                        .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE,
                },
--------
cat /proc/iomem
01c02000-01c02fff : dma-controller@1c02000
01c0f000-01c0ffff : mmc@1c0f000
01c10000-01c10fff : mmc@1c10000
01c19000-01c193ff : usb@1c19000
  01c19000-01c193ff : usb@1c19000
01c19400-01c1942b : phy_ctrl
01c1a000-01c1a0ff : usb@1c1a000
01c1a400-01c1a4ff : usb@1c1a400
01c1a800-01c1a803 : pmu0
01c1b000-01c1b0ff : usb@1c1b000
01c1b400-01c1b4ff : usb@1c1b400
01c1b800-01c1b803 : pmu1
01c1c000-01c1c0ff : usb@1c1c000
01c1c400-01c1c4ff : usb@1c1c400
01c1c800-01c1c803 : pmu2
01c1d000-01c1d0ff : usb@1c1d000
01c1d400-01c1d4ff : usb@1c1d400
01c1d800-01c1d803 : pmu3
01c20000-01c203ff : clock@1c20000
01c20800-01c20bff : pinctrl@1c20800
01c20ca0-01c20cbf : watchdog@1c20ca0
01c28000-01c2801f : serial
01c30000-01c3ffff : ethernet@1c30000
01f00000-01f00053 : rtc@1f00000
01f01400-01f014ff : clock@1f01400
01f015c0-01f015c3 : codec-analog@1f015c0
01f02c00-01f02fff : pinctrl@1f02c00
40000000-5bffffff : System RAM
  40008000-40ffffff : Kernel code
  41100000-412296cb : Kernel data
---------
I don't know what's wrong with the second cell configuration

Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to