Andrew Bresticker <abrestic@xxxxxxxxxxxx> writes: > On Fri, Feb 27, 2015 at 2:44 AM, Daniel Schwierzeck > <daniel.schwierzeck@xxxxxxxxx> wrote: > > 2015-02-26 19:23 GMT+01:00 Andrew Bresticker <abrestic@xxxxxxxxxxxx>: > >> Hi, > >> > >> On Thu, Feb 26, 2015 at 4:37 AM, Daniel Schwierzeck > >> <daniel.schwierzeck@xxxxxxxxx> wrote: > >>> 2015-02-26 11:17 GMT+01:00 Paul Burton <paul.burton@xxxxxxxxxx>: > >>>> On Thu, Feb 19, 2015 at 01:50:23PM +0000, Matthew Fortune wrote: > >>>>> Hi Daniel, > >>>>> > >>>>> The spec for MIPS Unified Hosting Interface is available here: > >>>>> > >>>>> http://prplfoundation.org/wiki/MIPS_documentation > >>>>> > >>>>> As we have previously discussed, this is an ideal place to define > >>>>> the handover of device tree data from bootloader to kernel. Using > >>>>> a0 == -2 and defining which register(s) you need for the actual > >>>>> data will fit nicely. I'll happily include whatever is decided > >>>>> into the next version of the spec. > >>> > >>> this originates from an off-list discussion some months ago started > >>> by John Crispin. > >>> > >>> (CC +John, Ralf, Jonas, linux-mips) > >>> > >>>> > >>>> (CC +Andrew, Ezequiel, James, James) > >>>> > >>>> On the talk of DT handover, this recent patchset adding support for > >>>> a system doing so to Linux is relevant: > >>>> > >>>> > >>>> http://www.linux-mips.org/archives/linux-mips/2015-02/msg00312.html > >>>> > >>>> I'm also working on a system for which I'll need to implement DT > >>>> handover very soon. It would be very nice if we could agree on some > >>>> standard way of doing so (and eventually if the code on the Linux > >>>> side can be generic enough to allow a multiplatform kernel). > >> > >> +1. I would like to see this happen as well. > >> > >>> to be conformant with UHI I propose $a0 == -2 and $a1 == address of > >>> DT blob. It is a simple extension and should not interfere with the > >>> various legacy boot interfaces. > >>> > >>> U-Boot mainline code is almost ready for DT handover. I have > >>> prepared a patch [1] which completes it by implementing my proposal. > >> > >> Hmm... we decided to follow the ARM convention here ($a0 = 0, $a1 = > >> -1, $a2 = physical address of DTB), which is also what the BMIPS > >> platform (submitted by Kevin) is using for DT handover. Is there > >> already a platform using the protocol you described? > > > > no, but with its publication the MIPS UHI spec is kind of official. > > AFAIK patches to support UHI in gcc, gdb, U-Boot etc. are already > > submitted or prepared. Matthew suggested that new boot protocols > > should be compliant with UHI. I think the ARM convention does not fit > > to UHI. > > Ok, I think we can change the boot protocol on Pistachio to match UHI > then. If that is possible then it would be good. The UHI spec is intended to involve the various communities in further changes but the initial version had to make some tradeoffs and define some rules. FWIW I was trying to keep the overall control of the handover protocol ultra simple by having a0 dictate the meaning of all other registers. The ARM protocol has ended up with two registers to indicate DTB handover making the a0==0 case have sub-categories. Let me know if this doesn't end up possible and we can figure out how to cope with that in the spec. thanks, Matthew