mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
Some time ago, Linux switched the format of docs to ReST and the format of device-tree bindings to json-schema. Signed-off-by: Michal Orzel <michal.orzel@amd.com> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> Release-acked-by: Henry Wang <Henry.Wang@arm.com>
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.rst
|
|
Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst
|
|
|
|
[2] linux/Documentation/arm64/booting.rst
|
|
Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
|