|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [XenARM] Question about booting parameter of Mini-OS for ARM
On Mon, 2013-05-13 at 14:12 +0100, Chen Baozi wrote:
> On Mar 25, 2013, at 6:00 PM, Stefano Stabellini
> <Stefano.Stabellini@xxxxxxxxxxxxx> wrote:
> > On Sun, 24 Mar 2013, Chen Baozi wrote:
> >> Hi all,
> >>
> >> I'm reading Mini-OS's codes and to estimate the amount of work porting it
> >> to
> >> ARM (Ian's GSoC idea this year).
> >>
> >> While Xen is booting Mini-OS on x86 platform, it passes the start_info_t to
> >> the guest through ESI register. And Mini-OS would use this structure as
> >> the
> >> argument of start_kernel. However, I didn't see codes handle the
> >> start_info_t on ARM side. Instead, I see a more standard protocal when
> >> booting ARM's dom0, which follows linux kernel bootstrap rules:
> >>
> >> r0 = 0, r1 = machine nr, r2 = atags or dtb pointer
> >>
> >> Does it mean that Xen for ARM does not use the start_info_t to pass
> >> information when booting PV guest?
> >> Or did I miss something important?
> >
> > That's right, we don't use start_info_t on ARM, in fact ARM guests are
> > not exactly like x86 PV guests.
> > The information present in the start_info page are either available via
> > device tree or no used on ARM.
>
> I noticed that in arch_domain_create() for arm there are codes
> allocating xen heap pages for domain->shared_info:
>
> arch_domain_create:
> if ((d->shared_info = alloc_xenheap_pages(0, 0)) == NULL)
>
> But it seems it is used nowhere and even not mapped by libxc:
>
> int arch_setup_bootlate(struct xc_dom_image *dom)
> {
> /* XXX
> * map shared info
> * map grant tables
> * setup shared info
> */
> return 0;
> }
This comment is out of date, in fact on ARM the guest itself takes care
of mapping these things by using XENMEM_add_to_physmap with
XENMAPSPACE_shared_info et al.
> So my question is what is the role of shared_info page in arm?
It is mostly the same as on x86 with a couple of exceptions which spring
to mind. Firstly XEN_LEGACY_MAX_VCPUS == 1 on ARM so guests are required
to use VCPUOP_register_vcpu_info for secondary CPUs instead of relying
on some number of vcpu_info's being present in the shared info. Secondly
we don't actually implement the wall-clock stuff there (yet).
The bit we currently use is the evtchn_* stuff.
> And is there any relations between shared_info and start_info?
Not really no, one is start of day and one is runtime.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |