On Feb 24, 2011, at 13:41, Wolfgang Denk wrote: > In message <e379de2e-dded-45ad-b44b-8006d883f...@boeing.com> you wrote: >> >> Perhaps the default should instead be something like this? >> >> __attribute__((__weak__)) int arch_reset(void) >> { >> while(1); >> } > > No. Please don;t implement something that does not do what it is > supposed to do. Rather make the problem obvious. > >> Having a default might make it easier to do the initial standup of a new CPU >> type (less code to write initially), but you wouldn't get any obvious errors >> about the fact that you are missing functionality. > > That's a fundamentally broken approach. You know how people work: > they start, they have something running without too blatant error > messages, they leave it as is and go on to the next task. > > I rather see a clear unresolved external reference error instead of a > bad defualt that doesn't work.
Ok, I'm working on an updated patch. There are a few CPU architectures like the 74xx_7xx which have worrying comments like these: /* no generic way to do board reset. simply call soft_reset. */ It basically just disables caching and performs a jump to the CPU reset vector. Several boards already have overrides of various sorts to use board-specific reset vectors; from looking at commit logs and configuration for the boards based on the 74xx and 7xx I'm not convinced that reset function has ever been tested on some of them. I would almost be willing to argue that if that kind of "soft reset" is a desirable feature then U-Boot should support it separately via a "kexec()"-style interface. Anyways, I should be sending out a new patch here shortly. Cheers, Kyle Moffett _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot