
In message 200804210541.41085.vapier@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"''.
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 ... ]
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.
Best regards,
Wolfgang Denk