public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Cedric VINCENT <cedric.vincent@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Re: Why exceptions are enabled before exception vector code is copied
Date: Wed, 6 Jul 2005 11:52:10 +0200	[thread overview]
Message-ID: <c8f10050706025279618920@mail.gmail.com> (raw)
In-Reply-To: <20050706085932.2D77A353A6A@atlas.denx.de>

> Feel free to submit a patch.

OK, maybe the next week.

> But what would happen in your case of a Machine Check?  What  do  you
> suggest to recover from that?

When this spurious "Machine Check Exception" occured, the MSR didn't
contain any known causes. Maybe the function "MachineCheckException"
(from cpu/ppc4xx/traps.c)  may be modified with something like this :
---------
  #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
      if (debugger_exception_handler && (*debugger_exception_handler)(regs))
          return;
  #endif
 
+ #if defined(CONFIG_USE_XMD)
+     if( SPURIOUS_MCE == (regs->msr & 0x000F0000) )
+         return;
+ #endif

    printf("Machine check in kernel mode.\n");
    printf("Caused by (from msr): ");
    printf("regs %p ",regs);
    switch( regs->msr & 0x000F0000) {
---------
where CONFIG_USE_XMD is a macro (to use with care !) defined by user
when he uses XMD (during debugging stage)  and SPURIOUS_MCE is the MSR
unknown cause.

This (ugly) stuff makes sense to enable exception after relocation. I
didn't test this, since I disable Machine Check Exception when
debugging my Virtex Board. Maybe it will not work (if this spurious
exception occured more than once). I will try to test next week.

Regards,
Cedric VINCENT.

  reply	other threads:[~2005-07-06  9:52 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-06  7:45 [U-Boot-Users] Why exceptions are enabled before exception vector code is copied Cedric VINCENT
2005-07-06  8:04 ` [U-Boot-Users] " Wolfgang Denk
2005-07-06  8:53   ` Cedric VINCENT
2005-07-06  8:59     ` Wolfgang Denk
2005-07-06  9:52       ` Cedric VINCENT [this message]
2005-07-06 13:50         ` Cedric VINCENT
2006-03-13 11:24           ` 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=c8f10050706025279618920@mail.gmail.com \
    --to=cedric.vincent@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox