From owner-freebsd-ia64@FreeBSD.ORG Wed Jun 4 15:01:59 2003 Return-Path: Delivered-To: freebsd-ia64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6D46237B401 for ; Wed, 4 Jun 2003 15:01:59 -0700 (PDT) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 99CF843FBF for ; Wed, 4 Jun 2003 15:01:58 -0700 (PDT) (envelope-from marcel@xcllnt.net) Received: from athlon.pn.xcllnt.net (athlon.pn.xcllnt.net [192.168.4.3]) by ns1.xcllnt.net (8.12.9/8.12.9) with ESMTP id h54M1wwk019651; Wed, 4 Jun 2003 15:01:58 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from athlon.pn.xcllnt.net (localhost [127.0.0.1]) by athlon.pn.xcllnt.net (8.12.9/8.12.9) with ESMTP id h54M1wK2002423; Wed, 4 Jun 2003 15:01:58 -0700 (PDT) (envelope-from marcel@athlon.pn.xcllnt.net) Received: (from marcel@localhost) by athlon.pn.xcllnt.net (8.12.9/8.12.9/Submit) id h54M1vek002422; Wed, 4 Jun 2003 15:01:57 -0700 (PDT) Date: Wed, 4 Jun 2003 15:01:57 -0700 From: Marcel Moolenaar To: Alan Robinson Message-ID: <20030604220157.GA2368@athlon.pn.xcllnt.net> References: <20030530132408.A3690@fujitsu-siemens.com> <20030530173029.GB568@dhcp01.pn.xcllnt.net> <20030602133112.A3892@fujitsu-siemens.com> <20030602215156.GB1345@dhcp01.pn.xcllnt.net> <20030603085052.A2520@fujitsu-siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030603085052.A2520@fujitsu-siemens.com> User-Agent: Mutt/1.5.4i cc: freebsd-ia64@freebsd.org Subject: Re: /dev/kmem read return value is double requested value X-BeenThere: freebsd-ia64@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting FreeBSD to the IA-64 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Jun 2003 22:01:59 -0000 On Tue, Jun 03, 2003 at 08:50:52AM +0200, Alan Robinson wrote: > > > I'll take a look at it when I have a spare cycle. > > > I compared the ia64/i386 mmrw() and another answer is to add > a 'continue' after the /dev/kmem uiomove just like in i386. Fix committed. Thanks. BTW: don't try to read from the direct mapped regions (region 6 or region 7) with an address that uses the unimplemented phys. address bits. Instant machine check. I don't know what happens if the physical address is valid (from an architectural POV), but there's no memory installed at that address. Also, I don't know what happens if we access UC memory through region 7 (WB). In short: the direct mapped case is extremely buggy. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net