Adding support for device tree and command line

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Section 3 of this document defines some interfaces how a boot loader
could forward a command line *or* a device tree to the kernel:
http://wiki.prplfoundation.org/w/images/4/42/UHI_Reference_Manual.pdf
This allows only a device tree *or* a command line, not both.

The Linux kernel also supports an appended device tree. In this case the
early code overwrites the fw_args to look like the boot loader added a
device tree. This is done when CONFIG_MIPS_RAW_APPENDED_DTB is activated.

The problem is when we use an appended device tree and the boot loader
adds some important information in the kernel command line. In this case
the command line gets overwritten and we do not get this information.
This is the case for some lantiq devices were the boot loader provides
the mac address to the kernel via the kernel command line.

My proposal to solve this problem is to extend the interface and add a
option to provide the kernel command line *and* a device tree from the
boot loader to the kernel.

a) use fw_arg0 ($a0) = -2 and fill the unused registers fw_arg2 ($a2)
and fw_arg3 ($a3) with argv and envp.

b) add a new boot protocol $a0 = -3 with $a1 = DT address, $a2 = argv
and $a3 = envp.

I would prefer solution b).

This way we would not loose the kernel command line when appending a
device tree and this could also be used by the boot loader if someone
wants to.

Should I send a patch for this?

Hauke




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux