[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH ARM v4 10/12] mini-os: get RAM base and size from the FDT

On Thu, 2014-06-19 at 12:24 +0100, Julien Grall wrote:
> On 06/19/2014 09:39 AM, Thomas Leonard wrote:
> > On 18 June 2014 18:38, Julien Grall <julien.grall@xxxxxxxxxx> wrote:
> >> Hi Thomas,
> >>
> >> On 06/18/2014 04:08 PM, Thomas Leonard wrote:
> >>> +        const char *device_type = fdt_getprop(device_tree, node, 
> >>> "device_type", NULL);
> >>> +        if (device_type && !strcmp(device_type, "memory"))
> >>> +        {
> >>> +            /* Note: we assume there's only a single region of memory.
> >>> +             * Since Xen is already translating our "physical"
> >>> +             * addresses to the real physical RAM, there's no
> >>> +             * reason for it to give us multiple blocks. */
> >>
> >> This comment looks wrong to me. Even tho, Xen is providing a stage-2
> >> translation to show you a virtual layout (your guest physical memory),
> >> the new layout in Xen upstream may contain multiple banks. The first
> >> bank will contain up to 3G of RAM.
> > 
> > Hi Julien,
> Hello Thomas,
> > At the Hackathon, we decided Mini-OS could always rely on Xen to
> > provide the memory in a single block:
> > 
> > "ARM guests are allowed to assume one bank of memory. We need to
> > document this in the ABI. ARM guests should assume the presence of an
> > FDT."
> I'm not against only supporting one bank... I pointed that your comment
> is wrong and doesn't reflect this sentence.
> I didn't attend to this meeting, but I guess it was meant that the guest
> can assume there is always one bank of memory.
> I would change your comment into:
> "Xen will always provide us at least one bank of memory. Mini-os will
> use the first bank for the time-being"

Yes. The ABI definitely doesn't say "at most one bank". We already have
two in 4.5 for sufficiently large guests.

> > http://lists.xenproject.org/archives/html/mirageos-devel/2014-06/msg00004.html
> > 
> > A lot of the value of running on Xen is that we only have to support a
> > small number of configurations, because Xen hides the details of the
> > physical hardware. I assume the only reason for using the (very
> > flexible) FDT format to provide this information is that it's simpler
> > for full OSs which already use FDTs.
> As specified in the ABI, the guest layout may change from time to time.
> Actually, the layout is not compatible between Xen 4.4 and 4.5.
> Unless you want your OS tight to a Xen specific version, I don't think
> we want that for mini-os. You have to correctly support FDT and retrieve
> every information (MMIO, IRQ) from it.
> > Is the ARM guest ABI documented somewhere?
> You can find the guest layout described in xen/include/public/arch-arm.h

Note that this is for the benefit of the toolstack (matched to Xen)
only. If you decide you want to use those values yourself then you are
agreeing with yourself that you are happy to recompile in order to run
on another version of Xen.

If you aren't happy with that then you should use the FDT which has been
provided for this purpose.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.