Re: Adding support for device tree and command line

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

 



On 05/23/2016 11:14 PM, Hauke Mehrtens wrote:
> 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 just looked a little bit more closely and saw that the command line
uses 3 args. One for the count, one argv and one envp.

I would then only support device tree + count and argv, so the new
interface would not support 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