Hello,
I am trying to integrate TI Keystone 2 platform to seL4. What I have done so far is basically an initial port of the Kernel/libs/elfloader/Platform components and introducing a new keystone defconfig.
Relevant config parts about the setup: CONFIG_ARCH_ARM_V7A=y CONFIG_ARCH_ARM=y CONFIG_ARCH_AARCH32=y CONFIG_ARM_CORTEX_A15=y CONFIG_PLAT_KEYSTONE=y
At the end I am able to generate an image which looks like:
$ arm-cortexa15-linux-gnueabihf-readelf -e images/sel4test-driver-image-arm-keystone ELF Header: Class: ELF32 .. Entry point address: 0xc0008000 .. (I am using the same entry point as Linux use it)
So far, it stops booting in the elfloader -- output log: .. [ 29.705] ## Starting application at 0xc0008000 ...
ELF-loader started on CPU: ARM Ltd. Cortex-A15 r2p4 paddr=[c0008000..c032841f]
-> Stop here <-
Seems it stops loading @ elf_getMemoryBounds().
I suppose it is related to fact that the physical start address starts @ 0x840000000 which is beyond 32 Bit - so, LPAE support is required.
The physical RAM setup looks like: bank 0: addr: 0x840000000 size: 0x17ec5000 (382 MB)
bank 1: addr: 0x880000000 size: 0x80000000 (2048 MB)
Do you have an idea if this is supposed to be supported on seL4? What should be the "physBase" and the "kernelBase" for such a setup? How should the "static const p_region_t BOOT_RODATA avail_p_regs" looks like?
Thanks in advance!