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

Re: [Xen-devel] Initial Mini-OS port to ARM64

On Sun, 2014-02-23 at 22:41 +0800, Chen Baozi wrote:
> On Feb 18, 2014, at 23:54, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > On Sun, 2014-02-16 at 23:51 +0800, Chen Baozi wrote:
> >> Hi all,
> >> 
> >> It is much later than I used to expect. I guess it might be help
> >> to publish my work, though it is still not finished (and might not
> >> be finished very soon...). 
> >> 
> >> I began to try to port mini-os to ARM64 since last summer. Since
> >> the 64-bit guest support is not quite well at that time, this
> >> work had been stopped for a long time until two months ago.
> >> 
> >> Though it is still at very early stage, it at least can be built,
> >> setup a early page table for booting, parse the DTB passed by the
> >> hypervisor, and be debugged by printk at present. So I put it
> >> on github in case someone might be interested in it. Here is the
> >> url: https://github.com/baozich/minios-arm64
> > 
> > Cool. Thank you very much for sharing.
> > 
> >> Right now, there are some troubles to make GIC work properly,
> >> as I didnât consider mapping GICâs interface in address space and
> >> follows x86âs memory layout which make the kernel virtual address
> >> starts at 0x0. Iâll fix it as soon as possible.
> > 
> > Actually, having virtual memory start at 0x0 seems quite reasonable to
> > me, what is the problem?
> Hmmm, I donât think it is a big problem. I just didnât realise it is 
> necessary to map GICâs interface after MMU on, which leads a exception
> when I try to program GIC by the physical address populated by DT. 
> I used to think about making mini-os kernel address start at 0x80000000
> and leave the address below 0x80000000 to be 1:1 mapping, which
> seems to be able to make things easier when initialising GIC.

Remember that we are likely to rework the guest (pseudo)physical address
space in 4.5 and in any case will not make any guarantees about the
layout going forward.

It is not impossible that the GIC might move out of the 0x0-0x80000000
region (e.g. we might move it up to just below 4GB for example).

You will need to parse the DTB in order to figure out the appropriate
address and then create virtual address mappings to those addresses.


Xen-devel mailing list



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