Merge tag 'io_uring-5.11-2021-01-16' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / Documentation / xtensa / booting.rst
blobe1b83707e5b6eddf26e8ce2b69398c961312d408
1 =====================================
2 Passing boot parameters to the kernel
3 =====================================
5 Boot parameters are represented as a TLV list in the memory. Please see
6 arch/xtensa/include/asm/bootparam.h for definition of the bp_tag structure and
7 tag value constants. First entry in the list must have type BP_TAG_FIRST, last
8 entry must have type BP_TAG_LAST. The address of the first list entry is
9 passed to the kernel in the register a2. The address type depends on MMU type:
11 - For configurations without MMU, with region protection or with MPU the
12   address must be the physical address.
13 - For configurations with region translarion MMU or with MMUv3 and CONFIG_MMU=n
14   the address must be a valid address in the current mapping. The kernel will
15   not change the mapping on its own.
16 - For configurations with MMUv2 the address must be a virtual address in the
17   default virtual mapping (0xd0000000..0xffffffff).
18 - For configurations with MMUv3 and CONFIG_MMU=y the address may be either a
19   virtual or physical address. In either case it must be within the default
20   virtual mapping. It is considered physical if it is within the range of
21   physical addresses covered by the default KSEG mapping (XCHAL_KSEG_PADDR..
22   XCHAL_KSEG_PADDR + XCHAL_KSEG_SIZE), otherwise it is considered virtual.