From owner-freebsd-arch@FreeBSD.ORG Sat Oct 17 05:09:37 2009 Return-Path: Delivered-To: freebsd-arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 481C4106566C for ; Sat, 17 Oct 2009 05:09:37 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from asmtpout023.mac.com (asmtpout023.mac.com [17.148.16.98]) by mx1.freebsd.org (Postfix) with ESMTP id 33E688FC18 for ; Sat, 17 Oct 2009 05:09:37 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=us-ascii; format=flowed Received: from macbook-pro.lan.xcllnt.net (mail.xcllnt.net [75.101.29.67]) by asmtp023.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KRN00CF84VUJC90@asmtp023.mac.com>; Fri, 16 Oct 2009 21:09:31 -0700 (PDT) From: Marcel Moolenaar In-reply-to: <200910161346.03066.jkim@FreeBSD.org> Date: Fri, 16 Oct 2009 21:09:30 -0700 Message-id: <7178B392-D211-41C3-80DC-97E90263B8B7@mac.com> References: <20091015.085910.-520412456.imp@bsdimp.com> <20091015.134532.-1110324186.imp@bsdimp.com> <4890688A-D2DB-431C-ADB6-03A39A8FD10E@mac.com> <200910161346.03066.jkim@FreeBSD.org> To: Jung-uk Kim X-Mailer: Apple Mail (2.1076) Cc: freebsd-arch@FreeBSD.org Subject: Re: x86BIOS and the ISA bus and low memory in general... X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Oct 2009 05:09:37 -0000 On Oct 16, 2009, at 10:46 AM, Jung-uk Kim wrote: >>> >>> I thought that most video cards had I/O ports as well as video >>> RAM that needed to be mapped... Am I crazy? >> >> It depends on the platform. On an Itanium machine I have the >> VGA frame buffer is at physical address 0xA0000-0xC0000. > > The address is the same, then. :-) On this one machine it happens to be the same. On another machine there's no addressable memory below 768TB (yes, terabyte), so as I said: it depends. >> The only requirement is that you use non-cached I/O, otherwise >> you get a machine check. This can mean a non-identity mapping >> or not. It all depends... > > I couldn't find a way to manipulate memory attribute directly on ia64, > i.e., mem_range_attr_{get,set}() and pmap_mapdev_attr() only exist on > amd64 and i386. Does pmap_mapdev() set the attribute as UC? New KPIs are typically only implemented for i386 and amd64. It's one of the many unnecessary difficulties one faces when trying to port or maintain a platform. > It seems there are PC-compatible inline functions {in,out}[bwl] in > sys/ia64/include/cpufunc.h. Will they work as I expect? Yes, but it's always been my intention to remove them. Don't base any implementation on the existence of these... FYI, -- Marcel Moolenaar xcllnt@mac.com