public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: James Hogan <james.hogan@imgtec.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] MIPS UHI spec
Date: Mon, 16 Mar 2015 12:33:09 +0000	[thread overview]
Message-ID: <5506CD85.8070008@imgtec.com> (raw)
In-Reply-To: <6D39441BF12EF246A7ABCE6654B023532100679F@LEMAIL01.le.imgtec.org>

On 16/03/15 11:53, Matthew Fortune wrote:
> James Hogan <James.Hogan@imgtec.com> writes:
>> On 26/02/15 12:37, Daniel Schwierzeck wrote:
>>> 2015-02-26 11:17 GMT+01:00 Paul Burton <paul.burton@imgtec.com>:
>>>> 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).
>>>>
>>>
>>> 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.
>>
>> I was just looking at Andrew's patch:
>> http://patchwork.linux-mips.org/patch/9549/
>>
>> How would the other registers (i.e. $a2 and $a3) be defined for this
>> boot interface? I'm guessing any future extensions are envisioned to use
>> a different negative value of $a0, in which case treating them as
>> unused/undefined is fine, but perhaps that should be spelt out in the
>> UHI spec?
> 
> Sounds sensible. Making it explicit may help prevent anyone extending this
> and presuming that they can give meaning to one of the unused registers.
> 
> Did anyone come to a conclusion on physical vs virtual address for the
> DTB? I forgot to reply to the thread, I would have thought the KSEG0
> address would be the obvious choice so that it is immediately usable from
> ordinary memory accesses. However, that is only because I don't follow how
> the kernel would benefit from being given a physical address. It can't be
> remapped except for the case of segmentation control (I believe) so there
> seems little risk in using KSEG0.

The only obvious cases of physical addresses being passed into MIPS
Linux I can find by grepping for fw_arg[0123] are:
bcm3384: for DT boot, expects physical address of dtb in arg2
fw/sni and lantiq: expect physical arg pointer in arg1.

Physical addresses are probably of more use for arches where only
virtual addresses can be accessed after the MMU is turned on, and Linux
is started with the MMU turned off.

I suppose the problems with using virtual addresses for MIPS would be:
* limits it to low 256MB of RAM usually accessible in kseg0 and kseg1
* as you say, slightly less resistant to segmentation changes

I don't think either of those are really significant problems, though I
can see the appeal of physical addresses for this sort of interface. If
however the rest of the UHI boot APIs deal with directly usable
pointers, then maybe its best to stick with that pattern for consistency.

Cheers
James

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150316/68631fb3/attachment.sig>

  reply	other threads:[~2015-03-16 12:33 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-19 13:50 [U-Boot] MIPS UHI spec Matthew Fortune
2015-02-26 10:17 ` Paul Burton
2015-02-26 12:37   ` Daniel Schwierzeck
2015-02-26 18:23     ` Andrew Bresticker
2015-02-27 10:44       ` Daniel Schwierzeck
2015-02-27 17:28         ` Andrew Bresticker
2015-03-09 17:04     ` Andrew Bresticker
2015-03-11 16:37       ` Daniel Schwierzeck
2015-03-16 10:30     ` James Hogan
2015-03-16 11:53       ` Matthew Fortune
2015-03-16 12:33         ` James Hogan [this message]
2015-03-16 15:56         ` Andrew Bresticker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5506CD85.8070008@imgtec.com \
    --to=james.hogan@imgtec.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox