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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"