mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
SCTLR_EL3.HCR does not exists in the documentation (see D7.2.80 in ARM DDI 0487A.j). It was meant to be SCTRL_EL3.HCE. Signed-off-by: Julien Grall <julien.grall@arm.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
Booting Xen
|
|
===========
|
|
|
|
Xen follows the zImage protocol defined for 32-bit ARM Linux[1] and the
|
|
Image protocol defined for ARM64 Linux[2].
|
|
|
|
In both cases the recommendation to boot in HYP/EL2 mode is a strict
|
|
requirement for Xen.
|
|
|
|
The exceptions to this on 32-bit ARM are as follows:
|
|
|
|
Xen does not require the machine type to be passed in r1. This
|
|
register is ignored (so may be invalid or the actual machine type).
|
|
|
|
Xen does not support the ATAG list and requires Device
|
|
Tree. Therefore r2 must point to the physical address of device tree
|
|
block (dtb) in system RAM.
|
|
|
|
NOTE: although Xen uses the zImage protocol there is no compression
|
|
actually used. This should be transparent to the bootloader. The
|
|
zImage protocol should still be used and not the stricter "raw
|
|
(non-zImage)" protocol described in arm/Booting.
|
|
|
|
There are no exception on 64-bit ARM.
|
|
|
|
|
|
Firmware/bootloader requirements
|
|
--------------------------------
|
|
|
|
Xen relies on some settings the firmware has to configure in EL3 before starting Xen.
|
|
|
|
* Xen must be entered in NS EL2 mode
|
|
|
|
* The bit SCR_EL3.HCE (resp. SCR.HCE for 32-bit ARM) must be set to 1.
|
|
|
|
|
|
[1] linux/Documentation/arm/Booting
|
|
Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/Booting
|
|
|
|
[2] linux/Documentation/arm64/booting.txt
|
|
Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.txt
|