Dear L4 hackers,
I have implemented a basic support for the HiKey960 board (based on the
Kirin 960 SoC) [1] in Fiasco.OC and L4Re. If you are interested, please feel
free to examine the code at GitHub [2]. I would be more than happy for a
code review and suggestions towards potential upstream merging.
The code is based on the latest L4Re base 21.07.0 snapshot. I have wanted to
rebase the implementation on the latest revisions of the respective GitHub
repositories, but unfortunately the …
[View More]current upstream Fiasco does not work
for me properly even in QEMU.
The implementation is very basic (fixed physical memory layout, UART support
only, etc.), but seems to be working fine on the default examples.
Unfortunately, I am struggling for some time with making the additional CPU
cores work. I would greatly appreciate your assistance in this matter.
In a nutshell, the additional 3 little cores (A53) are woken up correctly
using the PSCI call (I am not tackling the 4 big A73 cores yet), but the
Fiasco code livelocks in the loop around the STXR instruction in
src/kern/arm/64/tramp-mp.S [3]. The STXR instruction always reports that the
exclusive access to the _tramp_mp_spinlock failed despite no other accesses
to the spinlock happened (confirmed using a JTAG debugger).
I have checked all the usual culprits like proper virtual memory mapping
attributes. I don't see any significant difference between the
initialization code of Fiasco and the initialization code of other kernels
that support HiKey960. I am also aware of the recent Adam's fix to the
_tramp_mp_spinlock code [4], but not even that fixes the livelock issue on
HiKey 960.
Does anyone have any idea what might be root cause of the livelock here?
Thanks in advance for any input.
[1] https://www.96boards.org/product/hikey960/
[2] https://github.com/martin-decky/L4Re-HiKey960
[3]
https://github.com/martin-decky/L4Re-HiKey960/blob/master/src/fiasco/src/ker
n/arm/64/tramp-mp.S#L247
[4]
https://github.com/kernkonzept/fiasco/commit/6bc2f7132982bc1e159abb716eb9026
71d381e9e
Best regards
Martin Decky
[View Less]
Hello l4-hackers,
I tried to use l4re hypervisor on raspberry pi 4. Prebuild image works but
not for my needs.
In fact, I want to use l4re running on raspberry pi 4 (aarch64) with 1 or
more tasks (such hello, ...) and 1 linux 64 bits vm like debian, fedora or
opensuse.
When I try to compile :
- x86_64 (native) : fiasco, l4re, l4linux no problem,
- rpi3, 32bit (cross compile) : fiasco, l4re, l4linux no problem
- rpi4 64bit (cross compile) : fiasco l4re OK but nothing for l4linux :-(
In this …
[View More]last case, obj/l4linux directory is empty. Nothing created. Normal?
Do you have some advices for me please?
Thank you very much
Matthieu.
[View Less]