summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2018-11-14 20:48:07 -0500
committerMax Filippov <jcmvbkbc@gmail.com>2019-02-03 21:06:19 -0500
commit05bdebd546db924f9bcb4c524c436a016b0c8fca (patch)
tree07137e96d783776a74a229fba43ac41274a7e29b
parent8834f5600cf3c8db365e18a3d5cac2c2780c81e5 (diff)
xtensa: document boot parameter passing
Add booting.txt to Documentation/xtensa with description of boot parameters representation and passing to the kernel. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
-rw-r--r--Documentation/xtensa/booting.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/Documentation/xtensa/booting.txt b/Documentation/xtensa/booting.txt
new file mode 100644
index 000000000000..402b33a2619f
--- /dev/null
+++ b/Documentation/xtensa/booting.txt
@@ -0,0 +1,19 @@
1Passing boot parameters to the kernel.
2
3Boot parameters are represented as a TLV list in the memory. Please see
4arch/xtensa/include/asm/bootparam.h for definition of the bp_tag structure and
5tag value constants. First entry in the list must have type BP_TAG_FIRST, last
6entry must have type BP_TAG_LAST. The address of the first list entry is
7passed to the kernel in the register a2. The address type depends on MMU type:
8- For configurations without MMU, with region protection or with MPU the
9 address must be the physical address.
10- For configurations with region translarion MMU or with MMUv3 and CONFIG_MMU=n
11 the address must be a valid address in the current mapping. The kernel will
12 not change the mapping on its own.
13- For configurations with MMUv2 the address must be a virtual address in the
14 default virtual mapping (0xd0000000..0xffffffff).
15- For configurations with MMUv3 and CONFIG_MMU=y the address may be either a
16 virtual or physical address. In either case it must be within the default
17 virtual mapping. It is considered physical if it is within the range of
18 physical addresses covered by the default KSEG mapping (XCHAL_KSEG_PADDR..
19 XCHAL_KSEG_PADDR + XCHAL_KSEG_SIZE), otherwise it is considered virtual.