From: Hauke Mehrtens <hauke@hauke-m.de>
To: linux-mips@linux-mips.org, Jonas Gorski <jogo@openwrt.org>
Cc: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>,
Mathias Kresin <openwrt@kresin.me>
Subject: Re: Adding support for device tree and command line
Date: Mon, 23 May 2016 23:34:55 +0200 [thread overview]
Message-ID: <5743777F.9060801@hauke-m.de> (raw)
In-Reply-To: <574372CD.1060201@hauke-m.de>
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
>
next prev parent reply other threads:[~2016-05-23 21:34 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-23 21:14 Adding support for device tree and command line Hauke Mehrtens
2016-05-23 21:34 ` Hauke Mehrtens [this message]
2016-05-23 22:12 ` Daniel Gimpelevich
2016-05-24 5:32 ` [RFC PATCH] " Daniel Gimpelevich
2016-05-24 11:27 ` Antony Pavlov
2016-05-24 15:15 ` Daniel Gimpelevich
2016-05-24 15:27 ` Daniel Gimpelevich
2016-05-24 16:48 ` Antony Pavlov
2016-05-24 17:00 ` Daniel Gimpelevich
2016-05-25 3:31 ` Antony Pavlov
2016-05-25 3:33 ` Daniel Gimpelevich
2016-05-27 21:06 ` [PATCH v2] " Daniel Gimpelevich
2016-05-28 10:31 ` Antony Pavlov
2016-05-28 19:05 ` Daniel Gimpelevich
2016-05-29 1:23 ` Daniel Gimpelevich
2016-05-30 17:24 ` Antony Pavlov
2016-05-29 10:53 ` Jonas Gorski
2016-05-29 18:38 ` Daniel Gimpelevich
2016-05-29 19:01 ` Jonas Gorski
2016-05-29 19:08 ` Daniel Gimpelevich
2016-05-29 19:22 ` Jonas Gorski
2016-05-29 19:26 ` Daniel Gimpelevich
2016-05-29 19:30 ` Jonas Gorski
2016-05-29 21:19 ` Daniel Gimpelevich
2016-05-26 16:25 ` [RFC PATCH] " Hauke Mehrtens
2016-05-26 17:24 ` Daniel Gimpelevich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5743777F.9060801@hauke-m.de \
--to=hauke@hauke-m.de \
--cc=daniel@gimpelevich.san-francisco.ca.us \
--cc=jogo@openwrt.org \
--cc=linux-mips@linux-mips.org \
--cc=openwrt@kresin.me \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox