On Sunday, April 8, 2018 at 11:29:01 AM UTC+8, Qiu Shui wrote: > On Monday, April 2, 2018 at 4:33:40 PM UTC+8, Qiu Shui wrote: > > On Monday, April 2, 2018 at 3:05:08 PM UTC+8, Nikhil Devshatwar wrote: > > > On Monday 02 April 2018 11:16 AM, Qiu Shui wrote: > > > > 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 > > > > > > Make sure that the region described by .hypervisor_memory in the config > > > matches with the > > > reserved_memory node in the root cell device tree. > > > EINVAL is possibly due to the mismatch in root cell DT and root cell > > > config. > > > > > > Nikhil D > > > > > > > > > > > Thanks! > > > > > > > > After trying different parameters combination, I found that: > > .hypervisor_memory = { > > .phys_start = 0x5f000000, > > .size = 0x1000000, > > where the "size" can not exceed "0x1000000". > > I want to use FreeRTOS on my second core. So I tried > "https://github.com/siemens/freertos-cell.git" project. > After some modifications, I finally reached these errors: > arm-linux-gnueabihf-ld -T lscript.lds -o freertos-demo.elf main.o boot_stub.o > libfreertos.a > libfreertos.a(serial.o): In function `serial_irq_getchar': > serial.c:(.text+0xaa): undefined reference to `__printf_chk' > serial.c:(.text+0xbe): undefined reference to `__printf_chk' > serial.c:(.text+0xd4): undefined reference to `__printf_chk' > libfreertos.a(gic-v2.o): In function `gic_v2_init': > gic-v2.c:(.text+0x2c): undefined reference to `__printf_chk' > libfreertos.a(gic-v2.o): In function `gic_v2_irq_set_prio': > gic-v2.c:(.text+0xc4): undefined reference to `__printf_chk' > libfreertos.a(gic-v2.o):gic-v2.c:(.text+0xdc): more undefined references to > `__printf_chk' follow > Makefile:49: recipe for target 'freertos-demo.elf' failed > make: *** [freertos-demo.elf] Error 1 > > I have tried to include libc.a or libc.so by adding "-l" options to compiler > but still failed. > > Are there any suggestions? > > Thanks a lot!
I changed the cross compiler from version "arm-linux-gnueabihf-gcc (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609" to "arm-linux-gnueabihf-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011". The problem solved but I don't know why! -- 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.
