From owner-freebsd-alpha Fri Mar 22 6: 7:20 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by hub.freebsd.org (Postfix) with ESMTP id 81B1437B417; Fri, 22 Mar 2002 06:07:16 -0800 (PST) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id JAA07878; Fri, 22 Mar 2002 09:07:15 -0500 (EST) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id g2ME6ju23279; Fri, 22 Mar 2002 09:06:45 -0500 (EST) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15515.14965.734826.531495@grasshopper.cs.duke.edu> Date: Fri, 22 Mar 2002 09:06:45 -0500 (EST) To: Doug Rabson Cc: , Warner Losh , Subject: Re: Expected compiler error on GENERIC? In-Reply-To: <20020322084903.F99274-100000@salmon.nlsystems.com> References: <15513.61122.201509.896981@grasshopper.cs.duke.edu> <20020322084903.F99274-100000@salmon.nlsystems.com> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Doug Rabson writes: > > Perhaps badaddr should take a volatile pointer argument? I think that could cause more trouble than its worth.. This one case was just an accident of how I laid things out. I think there is something else wrong with badaddr, though.. We shouldn't be doing the read if we got a fault. Eg: Index: interrupt.c =================================================================== RCS file: /home/ncvs/src/sys/alpha/alpha/interrupt.c,v retrieving revision 1.64 diff -u -r1.64 interrupt.c --- interrupt.c 11 Mar 2002 19:58:53 -0000 1.64 +++ interrupt.c 22 Mar 2002 14:04:19 -0000 @@ -300,7 +300,7 @@ /* disallow further machine checks */ mc_expected = 0; - if (rptr) { + if (rptr && mc_received == 0) { switch (size) { case sizeof (u_int8_t): *(volatile u_int8_t *)rptr = rcpt; Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message