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"

Reply via email to