From: Ladislav Michl <ladis@psi.cz>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: linux-mips@oss.sgi.com
Subject: Re: DBE/IBE handling incompatibility
Date: Tue, 25 Jun 2002 02:36:34 +0200 [thread overview]
Message-ID: <20020625003634.GA1917@kopretinka> (raw)
In-Reply-To: <Pine.GSO.3.96.1020619182253.15094Q-100000@delta.ds2.pg.gda.pl>
On Wed, Jun 19, 2002 at 06:47:05PM +0200, Maciej W. Rozycki wrote:
> Don't rely in dbe_board_handler and ibe_board_handler -- they are
> system-specific backends that shouldn't be touched unless you want to
> handle the exceptions in a system-specific way (e.g. to report ECC errors
> from a memory controller).
MC sends an interrupt whenever bus or parity errors occur. In addition, if the
error happened during a CPU read, it also asserts the bus error pin on the R4K.
so once one access nonexistent memory on Indy first DBE is generated followed
by Bus Error interupt (IRQ 6). When GIO status register is cleared inside DBE
handler, irq is not delivered.
> Also expect the handlers to get rewritten so that search_dbe_table() gets
> invoked unconditionally, before a system-specific backend.
i don't want to use these handlers, i'd like to write it mips64 way.
> Use get_dbe() from <asm/paccess.h> for reading data with an additional
> DBE status. For a simple example see drivers/mtd/devices/ms02-nv.c. The
> macro is used in a somewhat more complex way in drivers/tc/tc.c as well --
> this bit of code fits your situation quite closely (here probing
> TURBOchannel bus slots). The macro works in modules as well.
that does't work. i used folowing pseudocode:
my_get_dbe()
nofault = 1;
ret = get_dbe(*val, (unsigned int *) addr);
__asm__ __volatile__("nop;nop;nop;nop");
nofault = 0;
my_do_buserr()
save_and_clear_buserr();
if (nofault) {
nofault = 0;
return;
}
panic();
when calling my_get_dbe for nonexistent address it enters my_do_buserr
and returns "somewhere" causing machine to freeze. calling
save_and_clear_buserr() from board specific DBE handler works as
expected. is there better solution or i missed anything important?
thanks,
ladis
next prev parent reply other threads:[~2002-06-25 0:38 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-17 11:33 DBE/IBE handling incompatibility Ladislav Michl
2002-06-19 16:47 ` Maciej W. Rozycki
2002-06-25 0:36 ` Ladislav Michl [this message]
2002-06-25 11:55 ` Maciej W. Rozycki
2002-06-26 11:51 ` [patch] linux: DBE/IBE handling rewrite Maciej W. Rozycki
2002-06-26 12:05 ` Ralf Baechle
2002-06-26 13:07 ` Maciej W. Rozycki
2002-06-26 17:21 ` Jun Sun
2002-06-27 12:00 ` Maciej W. Rozycki
2002-06-27 17:12 ` Jun Sun
2002-06-27 18:29 ` Maciej W. Rozycki
2002-06-27 19:08 ` Jun Sun
2002-06-27 20:00 ` Maciej W. Rozycki
2002-06-26 20:59 ` [patch] GIO bus support Ladislav Michl
2002-06-26 23:46 ` Ralf Baechle
2002-06-27 10:14 ` FIR problem jeff
2002-06-27 10:14 ` jeff
2002-06-27 12:21 ` [patch] GIO bus support Maciej W. Rozycki
2002-08-04 22:03 ` Ladislav Michl
2002-09-28 19:55 ` Ladislav Michl
2002-06-26 17:17 ` [patch] linux: DBE/IBE handling rewrite Jun Sun
2002-06-27 11:51 ` Maciej W. Rozycki
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=20020625003634.GA1917@kopretinka \
--to=ladis@psi.cz \
--cc=linux-mips@oss.sgi.com \
--cc=macro@ds2.pg.gda.pl \
/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