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!
--
WBR, Wladislav WIebe