[PATCH 0/2] arm64: booting.rst: Clarify EL2 and cover v8-R64

Andre Przywara
2022-01-07T16:01:08Z

Hi,

clarify the wording of the ARM64 boot protocol requirements, to both
cater for the introduction of secure EL2 in Armv8.4, but also for the
addition of the Armv8-R64 architecture branch.
There is an ARM ARM supplement for v8-R64[1], and also a free model[2].

On top of those clarifications, there are at least two other issues to
consider for v8-R64 on Linux, I wonder if those should be documented
somewhere, although I doubt that booting.rst is the right place:
- Linux clears the NS/NSTable bit in the PTEs. In non-secure world those
bits are ignored, but when in secure world this means "secure PA".
That luckily matches the design here (secure-only), but we should avoid
re-purposing those bits in the future (which would be technically
possible when running only non-secure).
- The GIC needs to be implemented using a "single Security state" for
the Linux GIC driver to work. The model mentioned above defaults to
a security aware GIC, so needs to be told off using the command line.
I wonder if this is should be explicitly mentioned somewhere, to avoid
disappointment by implementors later.

I'd be grateful for any hint whether to state those things and where to
put them.

Cheers,
Andre

[1] https://developer.arm.com/documentation/ddi0600/latest/
[2] https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms/arm-ecosystem-models

Andre Przywara (2):
arm64: booting.rst: Clarify on requiring non-secure EL2
arm64: booting.rst: Cover Armv8-R64

Documentation/arm64/booting.rst | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)

--
2.25.1