public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/21] Generic cross-architecture system restart support
@ 2011-03-07 17:37 Kyle Moffett
  2011-03-07 17:37 ` [U-Boot] [PATCH 01/21] Define new system_restart() and emergency_restart() Kyle Moffett
                   ` (22 more replies)
  0 siblings, 23 replies; 54+ messages in thread
From: Kyle Moffett @ 2011-03-07 17:37 UTC (permalink / raw)
  To: u-boot

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.

Cheers,
Kyle Moffett

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

end of thread, other threads:[~2011-04-11 18:31 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-07 17:37 [U-Boot] [PATCH 0/21] Generic cross-architecture system restart support Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 01/21] Define new system_restart() and emergency_restart() Kyle Moffett
2011-03-07 21:40   ` Mike Frysinger
2011-03-07 21:56     ` Moffett, Kyle D
2011-03-07 22:10       ` Mike Frysinger
2011-03-07 23:09         ` Graeme Russ
2011-03-08  2:45           ` Mike Frysinger
2011-03-13 19:24   ` Wolfgang Denk
2011-03-14 16:23     ` Moffett, Kyle D
2011-03-14 18:59       ` Wolfgang Denk
2011-03-14 19:52         ` Moffett, Kyle D
2011-03-14 20:38           ` Wolfgang Denk
2011-03-14 21:20             ` Moffett, Kyle D
2011-03-14 22:01               ` Wolfgang Denk
2011-03-21 11:43                 ` Graeme Russ
2011-03-21 12:00                   ` Wolfgang Denk
2011-03-22 12:05                     ` Graeme Russ
2011-03-22 13:28                       ` Wolfgang Denk
2011-03-23  0:19                         ` Graeme Russ
2011-04-11 18:31                           ` Wolfgang Denk
2011-03-07 17:37 ` [U-Boot] [PATCH 02/21] Replace do_reset() calls with {system, emergency}_restart() Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 03/21] arm: Call "panic()" instead of "hang()" for div-by-zero Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 04/21] arm: Replace unnecessary bad_mode() with panic() Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 05/21] arm: cpux9k2: Remove unnecessary XF_do_reset assignment Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 06/21] arm: Rename nonstandard board_reset() as at91_board_reset() Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 07/21] arm: Generic system restart support Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 08/21] avr32: " Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 09/21] blackfin: Replace "bfin_reset_or_hang()" with "panic()" Kyle Moffett
2011-03-07 21:44   ` Mike Frysinger
2011-03-07 17:37 ` [U-Boot] [PATCH 10/21] blackfin: Generic system restart support Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 11/21] i386: " Kyle Moffett
2011-03-07 21:54   ` Graeme Russ
2011-03-07 22:06     ` Moffett, Kyle D
2011-03-07 22:26       ` Graeme Russ
2011-03-07 22:57         ` Moffett, Kyle D
2011-03-07 23:06           ` Graeme Russ
2011-03-07 17:37 ` [U-Boot] [PATCH 12/21] m68k: " Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 13/21] microblaze: " Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 14/21] mips: " Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 15/21] nios2: " Kyle Moffett
2011-03-09  0:13   ` Scott McNutt
2011-03-09  0:42     ` Moffett, Kyle D
2011-03-09  1:33       ` Scott McNutt
2011-03-07 17:37 ` [U-Boot] [PATCH 16/21] powerpc: " Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 17/21] sh: Unify duplicate reset code Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 18/21] sh: Generic system restart support Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 19/21] sparc: Unify duplicate reset code Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 20/21] sparc: Generic system restart support Kyle Moffett
2011-03-07 17:37 ` [U-Boot] [PATCH 21/21] Remove legacy do_reset() function Kyle Moffett
2011-03-07 21:55   ` Graeme Russ
2011-03-07 23:00     ` Moffett, Kyle D
2011-03-07 23:03       ` Graeme Russ
2011-03-07 21:44 ` [U-Boot] [PATCH 0/21] Generic cross-architecture system restart support Graeme Russ
2011-03-13 19:16 ` Wolfgang Denk

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