Mailing List Archive

probably FAQ: latest xen PV api/abi specs
Hi,

this might be an FAQ but I'm looking for the documentation for the xen
guest API/ABI exposed to domU kernels on arm. The wiki says it isn't
yet set in stone and WIP but I hope someone is already working on
documenting it. Any pointers?

MfG
Goswin

_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm
Re: probably FAQ: latest xen PV api/abi specs [ In reply to ]
On Tue, 2013-11-05 at 10:20 +0100, Goswin von Brederlow wrote:
> Hi,
>
> this might be an FAQ but I'm looking for the documentation for the xen
> guest API/ABI exposed to domU kernels on arm.

Which port are you asking about?
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions or
http://wiki.xen.org/wiki/Xen_ARM_%28PV%29 ? I only know about the former
and it sounds like this is the one you mean?

Adding xen-devel which is the right venue for virt extensions questions,
xen-arm@ is for the PV port.

> The wiki says it isn't
> yet set in stone and WIP but I hope someone is already working on
> documenting it. Any pointers?

For the hardware extensions port the interfaces are documented in
xen.git (xen/include/public/) and exposed via
http://xenbits.xen.org/docs/unstable/hypercall/arm/index.html

I think it is mostly set in stone right now, although there is a pending
issue with Linux netfront/back possibly using a broken ABI due to struct
packing oddities. Other than that I don't expect there to be any further
changes before 4.4 (where I hope we can declare it frozen).

Ian.



_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm
Re: probably FAQ: latest xen PV api/abi specs [ In reply to ]
On Tue, Nov 05, 2013 at 09:48:39AM +0000, Ian Campbell wrote:
> On Tue, 2013-11-05 at 10:20 +0100, Goswin von Brederlow wrote:
> > Hi,
> >
> > this might be an FAQ but I'm looking for the documentation for the xen
> > guest API/ABI exposed to domU kernels on arm.
>
> Which port are you asking about?
> http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions or
> http://wiki.xen.org/wiki/Xen_ARM_%28PV%29 ? I only know about the former
> and it sounds like this is the one you mean?
>
> Adding xen-devel which is the right venue for virt extensions questions,
> xen-arm@ is for the PV port.

I'm interested in older arm cpus like the RaspberryPI, which doesn't
have the virtualization extension. Therefore I'm interested in the PV
port.

Or would it be feasable and make more sense to emulate the HVC
instruction in the undefined handler? Probably not given the extensive
use of hardware facilities.

MfG
Goswin

_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm
Re: probably FAQ: latest xen PV api/abi specs [ In reply to ]
On Tue, 2013-11-05 at 20:11 +0100, Goswin von Brederlow wrote:
> On Tue, Nov 05, 2013 at 09:48:39AM +0000, Ian Campbell wrote:
> > On Tue, 2013-11-05 at 10:20 +0100, Goswin von Brederlow wrote:
> > > Hi,
> > >
> > > this might be an FAQ but I'm looking for the documentation for the xen
> > > guest API/ABI exposed to domU kernels on arm.
> >
> > Which port are you asking about?
> > http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions or
> > http://wiki.xen.org/wiki/Xen_ARM_%28PV%29 ? I only know about the former
> > and it sounds like this is the one you mean?
> >
> > Adding xen-devel which is the right venue for virt extensions questions,
> > xen-arm@ is for the PV port.
>
> I'm interested in older arm cpus like the RaspberryPI, which doesn't
> have the virtualization extension. Therefore I'm interested in the PV
> port.

OK. I think the statement you've seen regarding API/ABI stability all
refer to the hardware based port. That said I know nothing about the
stated (or otherwise) stability of the API/ABI of the PV port.

Its developers have not been active for several years now. I'm afraid I
think you'd be wasting your time pursuing it on the RPi.

> Or would it be feasable and make more sense to emulate the HVC
> instruction in the undefined handler? Probably not given the extensive
> use of hardware facilities.

I'm sure it could be done at a technical level, but it would effectively
be an entirely new port...

Ian.


_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm
Re: probably FAQ: latest xen PV api/abi specs [ In reply to ]
On Tue, 5 Nov 2013, Goswin von Brederlow wrote:
> Hi,
>
> this might be an FAQ but I'm looking for the documentation for the xen
> guest API/ABI exposed to domU kernels on arm. The wiki says it isn't
> yet set in stone and WIP but I hope someone is already working on
> documenting it. Any pointers?

Hello Goswin,
please note that the right list for upstream Xen on ARM discussions is
xen-devel@lists.xen.org. xen-arm is to discuss the older PV port by
Samsung. I know this is confusing, sorry.

Unfortunately such a document still needs to be written but it would be
truly great to have it. I'll offer you an endless supply of beers at the
next Xen Developer Summit if you write one :-)

We do have a list of exported hypercalls here:

xen/include/public/arch-arm.h

You might also want to give a look at the device tree interface (under
Linux):

Documentation/devicetree/bindings/arm/xen.txt

And still under Linux:

arch/arm/xen/enlighten.c

From which is clear that:

- the start_info page is not used;

- the shared_info page is mapped using XENMEM_add_to_physmap(XENMAPSPACE_shared_info);

- all vcpu_info pages are mapped using VCPUOP_register_vcpu_info, even
the one for cpu0;

- the grant table is mapped using
XENMEM_add_to_physmap(XENMAPSPACE_grant_table) in the memory range
specified on the device tree xen node;

- event channel notifications are delivered using the a percpu GIC
interrupt.

_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm
Re: probably FAQ: latest xen PV api/abi specs [ In reply to ]
On Wed, 2013-11-06 at 18:39 +0000, Stefano Stabellini wrote:
> On Tue, 5 Nov 2013, Goswin von Brederlow wrote:
> > Hi,
> >
> > this might be an FAQ but I'm looking for the documentation for the xen
> > guest API/ABI exposed to domU kernels on arm. The wiki says it isn't
> > yet set in stone and WIP but I hope someone is already working on
> > documenting it. Any pointers?
>
> Hello Goswin,
> please note that the right list for upstream Xen on ARM discussions is
> xen-devel@lists.xen.org. xen-arm is to discuss the older PV port by
> Samsung. I know this is confusing, sorry.

Note that Goswin went on to say in a subsequent mail that he was
interesting in the PV port...

(So, Goswin, you can stop reading now if you like ;-))

> Unfortunately such a document still needs to be written

Actually, we have a fair bit of stuff about the ABI layout, supported
hypercalls etc in the public headers so I think "needs to be written" is
a bit pessimistic. "exists but needs expanding" would be more accurate.

[...]
> From which is clear that:
[...]

This list could be trivially pasted into either an appropriate header in
xen.git/xen/include/public/*arm* or the wiki and would be a useful
improvement. I think the headers, somewhere near the list of supported
hypercalls, would be best, Can you send a patch?

>
> - the start_info page is not used;
>
> - the shared_info page is mapped using XENMEM_add_to_physmap(XENMAPSPACE_shared_info);
>
> - all vcpu_info pages are mapped using VCPUOP_register_vcpu_info, even
> the one for cpu0;
>
> - the grant table is mapped using
> XENMEM_add_to_physmap(XENMAPSPACE_grant_table) in the memory range
> specified on the device tree xen node;
>
> - event channel notifications are delivered using the a percpu GIC
> interrupt.



_______________________________________________
Xen-arm mailing list
Xen-arm@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-arm