aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-08-30 11:52:22 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-09-13 12:52:56 +0100
commitbd9a0528ebc68ddb723feef6be57f75096d9df52 (patch)
treed06cd065d4390e86ea44a337c9b69920739ca05d /docs
parent3998afdbf99959582dcd9f9f4df5a6fe7ce4ded8 (diff)
downloadxen-bd9a0528ebc68ddb723feef6be57f75096d9df52.tar.gz
xen-bd9a0528ebc68ddb723feef6be57f75096d9df52.tar.bz2
xen-bd9a0528ebc68ddb723feef6be57f75096d9df52.zip
xen: arm: describe Xen boot protocol requirements
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/misc/arm/booting.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
new file mode 100644
index 0000000000..9802e5e20f
--- /dev/null
+++ b/docs/misc/arm/booting.txt
@@ -0,0 +1,30 @@
+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.
+
+[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