From owner-freebsd-arch@freebsd.org Wed Aug 26 01:14:47 2015 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 66D4A9C265F for ; Wed, 26 Aug 2015 01:14:47 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "gold.funkthat.com", Issuer "gold.funkthat.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 489F4B3F for ; Wed, 26 Aug 2015 01:14:47 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.14.5/8.14.5) with ESMTP id t7Q1EZZw022151 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 25 Aug 2015 18:14:35 -0700 (PDT) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.14.5/8.14.5/Submit) id t7Q1EY2U022150; Tue, 25 Aug 2015 18:14:34 -0700 (PDT) (envelope-from jmg) Date: Tue, 25 Aug 2015 18:14:34 -0700 From: John-Mark Gurney To: Justin Hibbits Cc: "freebsd-arch@freebsd.org" Subject: Re: Devices with 36-bit paddr on 32-bit system Message-ID: <20150826011434.GO33167@funkthat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Operating-System: FreeBSD 9.1-PRERELEASE amd64 X-PGP-Fingerprint: 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.5.21 (2010-09-15) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (gold.funkthat.com [127.0.0.1]); Tue, 25 Aug 2015 18:14:35 -0700 (PDT) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Aug 2015 01:14:47 -0000 Justin Hibbits wrote this message on Mon, Aug 24, 2015 at 23:44 -0700: > With my work porting FreeBSD to PowerPC e500mc and e5500, I have > devices in my device tree mapped well above the 4GB mark > (0xffexxxxxx), and have no idea how to properly address them for > resources in rman. Do we already have a solution to support this? > Part of the problem is the powerpc nexus does a straight convert to > vm_offset_t of rman_get_start() (itself returning a u_long), and > vm_offset_t is not necessarily equal to vm_paddr_t (on Book-E powerpc > vm_offset_t is 32-bits, vm_paddr_t is 64-bits). > > Could rman be thought that resources aren't necessarily u_long? The > only thought I have is to assume in the nexus code that the bottom 4 > bits of the 32-bit address are actually the top bits of the 36-bit > address, and generate those in ofw_bus_reg_to_rl(), since the bottom > 12 bits can be ignored anyways (pmap_mapdev() only maps full pages at > a minimum). This seems kinda kludgy to me, though. > > Any thoughts? I'd look at how i386's PAE does it, as this is exactly the same type of issue that PAE has... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."