All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott McNutt <smcnutt@psyent.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 15/21] nios2: Generic system restart support
Date: Tue, 08 Mar 2011 20:33:08 -0500	[thread overview]
Message-ID: <4D76D8D4.6070308@psyent.com> (raw)
In-Reply-To: <AC7CA0F2-0D12-4C19-980B-2CE9602EB52A@boeing.com>

Moffett, Kyle D wrote:
> Hi!
> 
> On Mar 08, 2011, at 19:13, Scott McNutt wrote:
>> Hi Kyle,
>>
>> Kyle Moffett wrote:
>>> The Nios-II port appears to use no generic hardware capability for
>>> performing a CPU reset.  Since all of the supported boards use the exact
>>> same code to perform a jump-to-flash it goes into __arch_restart().
>>>
>>> This means that Nios-II has a no-op __arch_emergency_restart() function.
>>> If the CPU is in an invalid state then jump-to-FLASH probably won't
>>> work.
>> If the CPU state is stable enough to call __arch_emergency_restart(),
>> a jump to the reset address should be fine. In many implementations
>> the reset code is in on-chip ROM. If things get screwed up enough
>> to affect the code in on-chip ROM, it probably won't matter what
>> gets called. ;-)
> 
  ... <snip> ...

> Basically the emergency_restart() code should handle being called even in the following scenarios:
>   * Unexpected CPU exception or interrupt occurs
>   * Interrupts on or off, or *from* an interrupt or trap handler.
>   * FLASH or other peripherals in an undefined state
> 
> If that's the case for your onboard ROM then I will certainly remove the no-op emergency restart hook from this patch.

 From a practical perspective, in the case of on-chip ROM, it would be
no different than a hard reset during any of the above activities.
But please don't remove it. Your position is sound and conservative.

I haven't had time to review the entire patch set yet. I'm assuming
the __board_emergency_restart() routine is where a board can override
the default arch-specific behavior? If so, you already provided the
hooks for more daring developers. ;-)

Regards,
--Scott

  reply	other threads:[~2011-03-09  1:33 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D76D8D4.6070308@psyent.com \
    --to=smcnutt@psyent.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.