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