Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jan 2013 11:38:32 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r245331 - head/sys/mips/mips
Message-ID:  <alpine.BSF.2.00.1301131135080.85568@fledge.watson.org>
In-Reply-To: <50F18F83.9080604@freebsd.org>
References:  <201301121553.r0CFrjRU080518@svn.freebsd.org> <50F18F83.9080604@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sat, 12 Jan 2013, Nathan Whitehorn wrote:

>>     In a sign of weakness, replicate the MIPS bus_space_generic.c to
>>     produce a new FDT version, which will perform necessary address
>>     space translation for bus_space -- the solution used in NLM's MIPS
>>     FDT support, but possibly not quite the right thing.  This is
>>     inconsistent with regular I/O via the nexus and the generic
>>     bus_space, which instead perform translation via pmap_mapdev()
>>     when a resource is activated.  However, it will work while I
>>     attempt to identify what the right way to reconcile possible
>>     approaches.
>>
>>     (Another approach might be to make simplebus use Nexus's activate
>>     routine instead of a generic one?)
>>
>>   Sponsored by:	DARPA, AFRL
>
> Using nexus's instead of having a parallel universe of "FDT" things is, in 
> my opinion, the right way to go. It's what we do on PowerPC and SPARC with 
> real Open Firmware and there is no reason to do things any differently with 
> FDT.

What I've done here is tracked the one existing FDT implementation on MIPS, 
from NLM XLP, effectively promoting it for use across all MIPS.  We'll need to 
coordinate changing the model across both.

I'm not sure I understand sufficiently the difference between how nexus is 
handling things on PowerPC/sparc64 vs MIPS such that using the generic 
busspace implementation doesn't work with FDT, but does on those platforms. 
Certainly, I was unable to use bus_space_generic on MIPS for this purpose, as 
it didn't to the P->V translation (that's the way around it is due to xkphys 
on MIPS) when used via the FDT path.  Do you have insight there?

Robert



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1301131135080.85568>