public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] /chosen node not overwritten by bootm
@ 2008-09-26 12:56 Stefan Roese
  2008-09-26 13:13 ` Jerry Van Baren
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Roese @ 2008-09-26 12:56 UTC (permalink / raw)
  To: u-boot

Hi Jerry,

Again I (and Wolfgang) stumbled about the problem, that the /chosen node is 
not overwritten by the bootm command when it already exists. This is really 
annoying, since we either:

a) Have to remove the chosen node from the dts files (which is not so easy
   if we try to stay in sync with the kernel.org version)

or

b) Have to manually use the U-Boot "fdt" commands to overwrite the chosen node

I can't remember why this current behavior is implemented this way. Jerry, 
can't we just overwrite this node even if it already exists? What would we 
loose by doing this?

Thanks.

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] /chosen node not overwritten by bootm
  2008-09-26 12:56 [U-Boot] /chosen node not overwritten by bootm Stefan Roese
@ 2008-09-26 13:13 ` Jerry Van Baren
  2008-10-06 12:49   ` Jerry Van Baren
  0 siblings, 1 reply; 3+ messages in thread
From: Jerry Van Baren @ 2008-09-26 13:13 UTC (permalink / raw)
  To: u-boot

Stefan Roese wrote:
> Hi Jerry,
> 
> Again I (and Wolfgang) stumbled about the problem, that the /chosen node is 
> not overwritten by the bootm command when it already exists. This is really 
> annoying, since we either:
> 
> a) Have to remove the chosen node from the dts files (which is not so easy
>    if we try to stay in sync with the kernel.org version)
> 
> or
> 
> b) Have to manually use the U-Boot "fdt" commands to overwrite the chosen node
> 
> I can't remember why this current behavior is implemented this way. Jerry, 
> can't we just overwrite this node even if it already exists? What would we 
> loose by doing this?
> 
> Thanks.
> 
> Best regards,
> Stefan

Hi Stefan,

The behavior was to mimic the behavior of the non-LIBFDT original 
implementation (and because we thought it was a good idea at the time). 
  We originally assumed that the .dts file writer had more/better 
knowledge of the system than we did (which was true at the time).  This 
was aggravated by the conundrum that the original FDT support didn't do 
a good job of generating the /chosen properties (some were, some 
weren't), so the .dts writers /had to/ pre-init some /chosen values. 
The /aliases node also helped - configuration choices that use to be 
implicit in the .dts /chosen node are now in /aliases (major improvement!).

I thought we turned on the "force" flag so that the /chosen properties 
would be overwritten, apparently I'm mistaken.

I'm fine with overwriting the /chosen node and properties.  Generate a 
patch and I'll be happy to ack it.

(Note to self: maybe it is time to retire the "force" flag - it always 
made me uncomfortable and is confusing.  Is there anything left that we 
*don't* want to force?)

Best regards,
gvb

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] /chosen node not overwritten by bootm
  2008-09-26 13:13 ` Jerry Van Baren
@ 2008-10-06 12:49   ` Jerry Van Baren
  0 siblings, 0 replies; 3+ messages in thread
From: Jerry Van Baren @ 2008-10-06 12:49 UTC (permalink / raw)
  To: u-boot

Jerry Van Baren wrote:
> Stefan Roese wrote:
>> Hi Jerry,
>>
>> Again I (and Wolfgang) stumbled about the problem, that the /chosen node is 
>> not overwritten by the bootm command when it already exists. This is really 
>> annoying, since we either:
>>
>> a) Have to remove the chosen node from the dts files (which is not so easy
>>    if we try to stay in sync with the kernel.org version)
>>
>> or
>>
>> b) Have to manually use the U-Boot "fdt" commands to overwrite the chosen node
>>
>> I can't remember why this current behavior is implemented this way. Jerry, 
>> can't we just overwrite this node even if it already exists? What would we 
>> loose by doing this?
>>
>> Thanks.
>>
>> Best regards,
>> Stefan
> 
> Hi Stefan,
> 
> The behavior was to mimic the behavior of the non-LIBFDT original 
> implementation (and because we thought it was a good idea at the time). 
>   We originally assumed that the .dts file writer had more/better 
> knowledge of the system than we did (which was true at the time).  This 
> was aggravated by the conundrum that the original FDT support didn't do 
> a good job of generating the /chosen properties (some were, some 
> weren't), so the .dts writers /had to/ pre-init some /chosen values. 
> The /aliases node also helped - configuration choices that use to be 
> implicit in the .dts /chosen node are now in /aliases (major improvement!).
> 
> I thought we turned on the "force" flag so that the /chosen properties 
> would be overwritten, apparently I'm mistaken.
> 
> I'm fine with overwriting the /chosen node and properties.  Generate a 
> patch and I'll be happy to ack it.
> 
> (Note to self: maybe it is time to retire the "force" flag - it always 
> made me uncomfortable and is confusing.  Is there anything left that we 
> *don't* want to force?)
> 
> Best regards,
> gvb

Hi Stefan, Wolfgang, Kumar,

I was messing with Kumar's bootm split-up changeset and it reminded me 
of a major reason that I did not do a "force" on creating the /chosen 
node: it was so that a FDT blob user could use "fdt chosen" to create 
the /chosen node, post-modify it (which is what Kumar needs to do as I 
understand it), and then run bootm.  In this situation, bootm *won't* 
touch /chosen and thus won't undo the extra modifications that the user 
(boot script) did.

Question for Kumar: Am I understanding your problem correctly?  Would 
keeping the /chosen node generation unchanged (no "force") work for you 
short term?

Long term I believe we want to eliminate the "force" parameter entirely 
(disclaimer: I need to look at the impact) and want to break bootm up 
into subcommand a'la Kumar's changeset.

Note to Stefan: I don't know how your boot script is set up, but if you 
prefix it with "fdt rm /chosen", I think it will do what you want it to 
do - remove legacy .dts generated /chosen nodes so it doesn't prevent 
bootm/libfdt from generating the /chosen node.  If the "/chosen" node 
doesn't exist, it will print an error (I believe) but otherwise be OK.

Best regards,
gvb

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-10-06 12:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-26 12:56 [U-Boot] /chosen node not overwritten by bootm Stefan Roese
2008-09-26 13:13 ` Jerry Van Baren
2008-10-06 12:49   ` Jerry Van Baren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox