[U-Boot] [PATCH 0/21] Generic cross-architecture system restart support

Graeme Russ graeme.russ at gmail.com
Mon Mar 7 22:44:54 CET 2011


Hi Kyle,

On Tue, Mar 8, 2011 at 4:37 AM, Kyle Moffett <Kyle.D.Moffett at boeing.com> wrote:
> Hello everyone,
>
> This patch series creates a generic set of functions available to generic
> code which can be easily hooked per-architecture or per-board.  I have
> tried to be very careful that U-Boot builds and runs on all architectures
> for the entire duration of this patchset.
>
> This patchset is designed to produce zero change in behavior *except* for
> one particular scenario:  Platforms which perform a "restart" with a simple
> jump to the "_start" entrypoint (or similar) will no longer try to do that
> on panic().
>
> The new functions to be called from generic code are:
>
>  int system_restart(void)
>  void emergency_restart(void)
>
> The specific platform hooks available are:
>
>  int __arch_restart(void)
>  int __board_restart(void)
>  void __arch_emergency_restart(void)
>  void __board_emergency_restart(void)
>
> The first few patches set up the generic functions and hooks with a default
> fallback to the existing "do_reset()" function.  Most of the rest are then
> architecture-specific modifications necessary to convert away from the old
> do_reset() prototype.  The last patch finally does away with that function.
>
> In my previous discussions with Wolfgang Denk about the __arch_restart()
> hook he requested that it should be mandatory for all architectures to
> implement.  Unfortunately the MIPS and MicroBlaze architectures have no
> architectural system-reset code at all, and others have only very limited
> "soft-reboot" (IE: Jump-to-"_start").
>
> Specifically, the MIPS do_reset() function used to look like this:
>  _machine_restart();
>  printf("*** restart failed ***\n");
>
> When those platforms are fixed then it should be safe to remove the weak
> fallback __arch_restart() function.
>

I recall seeing a patch series similar to this a little while ago. Is this
a Version 2 patch series? If so, what's different?

Regards,

Graeme


More information about the U-Boot mailing list