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