seL4 bring up on inmate cell of jailhouse.
Hi, I would like to bring up seL4 on inmate cell of Tx1. The jailhouse is running successfully on Tx1 board. I have created root cell and not root cell configuration on jailhouse. I able to load seL4 image successfully on inmate cell then during execution its stuck in the while extracting the program header. I checked with jailhouse forum they suggested some one might have ported seL4 or L4 kernel on jailhouse.also informed that seL4 kernel need to rebuild with some patches. Somehow I do not find the patches for seL4 or Fiasco.OC kernel to bring up on jailhouse.Please share links if you any. Also experimented by changing the PHY_ADDR higher then 2G (0x80000000) configuration ie(0x90000000 to 0xF0000000) and (0x100000000 to 0x170000000) while booting from the u-boot I observed KERNEL DATA abort after boot strapping the kernel. It means that this address cannot accessible in the seL4 kernel. Case 1: 0x90000000 to 0xF0000000 sample logs: ------------------- Bootstrapping kernel KERNEL DATA ABORT! Faulting instruction: 0x1ca9c FAR: 0x90000000 ESR (DFSR): 0x96000044 halting... Kernel entry via Interrupt, irq 0 case 2: 0x100000000 to 0x170000000 It's throwing synchronous data abort during program header extraction. sample logs: ------------------ binaries/elf64: elf64_getNumProgramHeaders "Synchronous Abort" handler, esr 0x96000044 ELR: 82002c8c LR: 820031f4 x0 : 0000000100000000 x1 : 0000000000000000 x2 : 000000000022fc10 x3 : 00000000827a5d40 x4 : 0000000000000000 x5 : 00000000000db8ab x6 : 0000000082007948 x7 : 0000000082008578 x8 : 0000000082008570 x9 : 0000000000000008 x10: 000000000000000f x11: 00000000fed87118 x12: 0000000000000047 x13: 0000000000000040 x14: 0000000000000001 x15: 00000000fed33114 x16: 0000000000000000 x17: 0000000000000000 x18: 00000000fc82ede0 x19: 00000000827a5ff0 x20: 0000000000000002 x21: 0000000082000000 x22: 00000000fc832800 x23: 0000000000000002 x24: 00000000fedaa7fc x25: 0000000000000000 x26: 0000000000000000 x27: 00000000fc8322f0 x28: 0000000000000000 x29: 00000000827a5e80 someone can give suggestion or pointers how we can bring seL4 on Jailhouse. Regards, Munees
Hi Munees,
On 12 Dec 2017, at 14:52, Muneeswaran Rajendran
Hi Munees, My understanding is that you cannot run unmodified guest operating systems as inmates under jailhouse. In my brief look at jailhouse I did not find any documentation of the platform that jailhouse presents to the inmates and the corresponding binary interface beyond "install this kernel module into your guest first". As such I cannot tell you what modifications would be required to seL4 to run as an inmate. Am somewhat obliged to point out that if you run seL4 under a system such as Jailhouse (or any virtualization system) then you are losing all of the benefits of seL4, whilst retaining the negatives. Unless this is transition stage of the project I would strongly encourage a design where seL4 is running at the highest privilege level. Adrian On Tue 12-Dec-2017 2:52 PM, Muneeswaran Rajendran wrote:
Hi,
I would like to bring up seL4 on inmate cell of Tx1. The jailhouse is running successfully on Tx1 board. I have created root cell and not root cell configuration on jailhouse.
I able to load seL4 image successfully on inmate cell then during execution its stuck in the while extracting the program header.
I checked with jailhouse forum they suggested some one might have ported seL4 or L4 kernel on jailhouse.also informed that seL4 kernel need to rebuild with some patches.
Somehow I do not find the patches for seL4 or Fiasco.OC kernel to bring up on jailhouse.Please share links if you any.
Also experimented by changing the PHY_ADDR higher then 2G (0x80000000) configuration ie(0x90000000 to 0xF0000000) and (0x100000000 to 0x170000000) while booting from the u-boot I observed KERNEL DATA abort after boot strapping the kernel. It means that this address cannot accessible in the seL4 kernel.
Case 1: 0x90000000 to 0xF0000000
sample logs: ------------------- Bootstrapping kernel KERNEL DATA ABORT! Faulting instruction: 0x1ca9c FAR: 0x90000000 ESR (DFSR): 0x96000044 halting... Kernel entry via Interrupt, irq 0
case 2: 0x100000000 to 0x170000000
It's throwing synchronous data abort during program header extraction.
sample logs: ------------------ binaries/elf64: elf64_getNumProgramHeaders "Synchronous Abort" handler, esr 0x96000044 ELR: 82002c8c LR: 820031f4 x0 : 0000000100000000 x1 : 0000000000000000 x2 : 000000000022fc10 x3 : 00000000827a5d40 x4 : 0000000000000000 x5 : 00000000000db8ab x6 : 0000000082007948 x7 : 0000000082008578 x8 : 0000000082008570 x9 : 0000000000000008 x10: 000000000000000f x11: 00000000fed87118 x12: 0000000000000047 x13: 0000000000000040 x14: 0000000000000001 x15: 00000000fed33114 x16: 0000000000000000 x17: 0000000000000000 x18: 00000000fc82ede0 x19: 00000000827a5ff0 x20: 0000000000000002 x21: 0000000082000000 x22: 00000000fc832800 x23: 0000000000000002 x24: 00000000fedaa7fc x25: 0000000000000000 x26: 0000000000000000 x27: 00000000fc8322f0 x28: 0000000000000000 x29: 00000000827a5e80
someone can give suggestion or pointers how we can bring seL4 on Jailhouse.
Regards, Munees
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel
participants (3)
-
Adrian.Danis@data61.csiro.au
-
Gernot.Heiser@data61.csiro.au
-
Muneeswaran Rajendran