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

Re: [Xen-devel] [PATCH ARM v6 00/14] mini-os: initial ARM support

On 17 July 2014 16:55, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> On Wed, 2014-07-16 at 22:29 +0100, Julien Grall wrote:
>> > There are two assumptions the code makes that may need changing in the 
>> > future, but
>> > which hopefully don't need to hold up this initial support:
>> >
>> > - The assumption that the kernel will be loaded at start of RAM + 0x8000.
>> >
>> > - The assumption that Xen will mark the GIC address range as device memory.
>> >    This should probably be fixed when the C code gains the ability to 
>> > control
>> >    the translation tables, map 4K pages, etc.
>> I'm fine with the assumptions for an initial support. Did you write-down
>> somewhere those restrictions? So if an issue happen in the future, we
>> will be able to find quickly the issue.
> Yeah. we can live with them for now, I think. It should be documented
> though.

I've noted the offset requirement in the linker script and the GIC
memory type assumption in a comment in gic.c.

> What sort of time line are you foreseeing for fixing them, in terms of
> before or after 4.5?

If the GIC will always occupy a distinct set of 1MB sections then
flagging those is easy enough. Otherwise, we'd have to add support for
the second-level page tables, which would complicate things a little.

Making the boot code work from arbitrary offsets looks very difficult.
I guess we'd need to compile libfdt as PIC, set up a temporary C stack
after the kernel (we can assume there's some RAM following it I
think), parse the FDT to find the base address, copy the kernel
forwards or backwards word by word (first copying the copying code to
a safe location somewhere).

It all seems very inefficient. From my point of view, it would seem
better to have some way to specify the desired load offset.

> We should probably consider sticking a "tech preview" or similar label
> on mini-os/ARM in 4.5 if these issues remain (the load address one in
> particular).

Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

Xen-devel mailing list



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