`physBase` isn't aligned properly on `ARM_HYP`
nspin opened this issue · comments
physBase
is required to be aligned to seL4_SuperSectionBits
:
seL4/include/arch/arm/arch/32/mode/hardware.h
Lines 98 to 100 in c998966
On ARM_HYP
, seL4_SuperSectionBits = 25
:
However, in hardware/config.py
the value of SUPERSECTION_BITS
is hard-coded to 24
, its value on ARM
:
Lines 48 to 51 in c998966
While this bug may not have caused issues for currently supported platform, I noticed it when testing #976 on ARM_HYP
. In this case, physBase
is set to 2**24
by hardware/config.py
and the assertion in hardware.h
fails.
Nice find, and I'm glad that the assert catches it, because that would have been super hard to find at runtime. The value in config.py
is just wrong, it needs to depend on whether hyp mode is on or not.