Stefano Stabellini
2013-Nov-06 18:39 UTC
Re: [XenARM] probably FAQ: latest xen PV api/abi specs
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.
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 writtenActually, 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.