diff options
author | gallatin <gallatin@FreeBSD.org> | 2001-04-08 16:43:59 +0000 |
---|---|---|
committer | gallatin <gallatin@FreeBSD.org> | 2001-04-08 16:43:59 +0000 |
commit | 35ffa3254cc6f92e0c3e9b5516616fdb50ff5f4c (patch) | |
tree | e49442c8b62e1b87ae38714de99ad67ba7a2bdea | |
parent | 6ca32ea5067447533fd6c862d8c6ba02f7dd58dd (diff) | |
download | FreeBSD-src-35ffa3254cc6f92e0c3e9b5516616fdb50ff5f4c.zip FreeBSD-src-35ffa3254cc6f92e0c3e9b5516616fdb50ff5f4c.tar.gz |
insert a magical second memory barrier prior to calling draina() in
badaddr_read(). This fixes 'machine check in pal mode' halts on
ev5 2100As.
MFC candidate -- after spending 6 hours tracking this down, I checked and
discovered that it has been in NetBSD for over a year, so it should be safe
for MFC into 4.3-RELEASE
-rw-r--r-- | sys/alpha/alpha/interrupt.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/alpha/alpha/interrupt.c b/sys/alpha/alpha/interrupt.c index e33f9d5..59c701b 100644 --- a/sys/alpha/alpha/interrupt.c +++ b/sys/alpha/alpha/interrupt.c @@ -283,6 +283,7 @@ badaddr_read(addr, size, rptr) panic("badaddr: invalid size (%ld)\n", size); } alpha_mb(); + alpha_mb(); /* magic for ev5 2100A & maybe more */ /* Make sure we took the machine check, if we caused one. */ alpha_pal_draina(); |