2019-04-18 17:34:34 +00:00
|
|
|
=====================================
|
|
|
|
Passing boot parameters to the kernel
|
|
|
|
=====================================
|
2018-11-15 01:48:07 +00:00
|
|
|
|
|
|
|
Boot parameters are represented as a TLV list in the memory. Please see
|
|
|
|
arch/xtensa/include/asm/bootparam.h for definition of the bp_tag structure and
|
|
|
|
tag value constants. First entry in the list must have type BP_TAG_FIRST, last
|
|
|
|
entry must have type BP_TAG_LAST. The address of the first list entry is
|
|
|
|
passed to the kernel in the register a2. The address type depends on MMU type:
|
2019-04-18 17:34:34 +00:00
|
|
|
|
2018-11-15 01:48:07 +00:00
|
|
|
- For configurations without MMU, with region protection or with MPU the
|
|
|
|
address must be the physical address.
|
|
|
|
- For configurations with region translarion MMU or with MMUv3 and CONFIG_MMU=n
|
|
|
|
the address must be a valid address in the current mapping. The kernel will
|
|
|
|
not change the mapping on its own.
|
|
|
|
- For configurations with MMUv2 the address must be a virtual address in the
|
|
|
|
default virtual mapping (0xd0000000..0xffffffff).
|
|
|
|
- For configurations with MMUv3 and CONFIG_MMU=y the address may be either a
|
|
|
|
virtual or physical address. In either case it must be within the default
|
|
|
|
virtual mapping. It is considered physical if it is within the range of
|
|
|
|
physical addresses covered by the default KSEG mapping (XCHAL_KSEG_PADDR..
|
|
|
|
XCHAL_KSEG_PADDR + XCHAL_KSEG_SIZE), otherwise it is considered virtual.
|