[U-Boot-Users] [PATCH] Blackfin: implement go/boote wrappers
Mike Frysinger
vapier at gentoo.org
Mon Apr 21 12:35:07 CEST 2008
On Monday 21 April 2008, Wolfgang Denk wrote:
> In message <200804210541.41085.vapier at gentoo.org> you wrote:
> > > This makes no sense. If it is ``exactly like "go"'' it doesn't matter
> > > if the code returns or not (and actually this is what I'm trying to
> > > point out all the time).
> >
> > the obvious implication is that i would add the cache disabling hooks to
> > the jump command instead of the go command since you wont allow the hook
> > around go.
>
> So it would NOT be ``exactly like "go"''.
well, duh. my point was that you're making "go" get duplicated just to
conform to documentation. the command name itself "go" doesnt really conjurn
up usage of "executing an application and returning" ... fits better with "go
to this location and never come back". "run" probably would have been a
better name. but that's hindsight for you.
> Providing both a "go" and a "jump" command which differ just in cahce
> handling seems broken to me. If you want to add such a feature, then
> I recommend to do it as part of "go", but make it optional, i. e. in-
> troduce a new optional argument to the "go" command, something like
>
> go [ -cache={off,d-off,i-off,on,d-on,i-on} ] addr [ args ... ]
cache is just an example. other arches may want to do other sort of "system
breakdown/cleanup" before relinquishing control. option flags to commands
really doesnt fit the style of u-boot (i expect that sort of painful option
parsing in redboot, not really u-boot).
so we can do:
go [-noret] addr [args...]
or we can add "jump" to cmd_boot.c and merge the differences by just using a
function pointer to "do_go_exec" or "do_jump_exec".
> > > It's just that "go" shall retain the standard U-Boot environment for
> > > application it runs, and that the applications need to take care if
> > > they need to meddle with interrupts, exception handlers, etc.
> >
> > U-Boot sets up no interrupts and the only exceptions that occur on the
> > Blackfin are for cache handling. disabling the caches forces a sane
>
> There is more procvessors in this world than just Blackfin, and
> others *do* enable interrupts, etc. It is important to me that
> implementations behave the same no matter which architecture you are
> using.
i never said Blackfin was the only thing that mattered. in fact, my goal is
to make it so that people using this facility get a more standard initial
environment before they start taking over the system. i guess i wont point
out the U-Boot policy about not using interrupts ...
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20080421/ce750ff8/attachment.pgp
More information about the U-Boot
mailing list