Message ID | 20231006075142.9803-3-michal.orzel@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | xen: hypercalls doc update | expand |
Hi Michal, On 06/10/2023 08:51, Michal Orzel wrote: > The list is out of date and does not specify all the hypercalls/sub-ops > we support, so update it. > > Signed-off-by: Michal Orzel <michal.orzel@amd.com> > --- > xen/include/public/arch-arm.h | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h > index 6a4467e8f5d1..263b1e182eb3 100644 > --- a/xen/include/public/arch-arm.h > +++ b/xen/include/public/arch-arm.h > @@ -104,6 +104,7 @@ > * Exactly these sub-operations are supported: > * * HVMOP_set_param > * * HVMOP_get_param > + * * HVMOP_guest_request_vm_event > * > * HYPERVISOR_grant_table_op > * All generic sub-operations > @@ -116,6 +117,26 @@ > * HYPERVISOR_argo_op > * All generic sub-operations > * > + * HYPERVISOR_hypfs_op > + * All generic sub-operations > + * > + * HYPERVISOR_platform_op > + * Exactly these sub-operations are supported: > + * * XENPF_settime64 > + * > + * HYPERVISOR_vm_assist > + * All generic sub-operations > + * > + * HYPERVISOR_dm_op > + * All ioreq server sub-operations are supported as well as: I interpret this sentence as all the hypercall with 'ioreq' in their name is supported. But, for Arm, we at least don't support XEN_DMOP_map_mem_type_to_ioreq_server. Cheers,
Hi Julien, On 06/10/2023 12:11, Julien Grall wrote: > > > Hi Michal, > > On 06/10/2023 08:51, Michal Orzel wrote: >> The list is out of date and does not specify all the hypercalls/sub-ops >> we support, so update it. >> >> Signed-off-by: Michal Orzel <michal.orzel@amd.com> >> --- >> xen/include/public/arch-arm.h | 21 +++++++++++++++++++++ >> 1 file changed, 21 insertions(+) >> >> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h >> index 6a4467e8f5d1..263b1e182eb3 100644 >> --- a/xen/include/public/arch-arm.h >> +++ b/xen/include/public/arch-arm.h >> @@ -104,6 +104,7 @@ >> * Exactly these sub-operations are supported: >> * * HVMOP_set_param >> * * HVMOP_get_param >> + * * HVMOP_guest_request_vm_event >> * >> * HYPERVISOR_grant_table_op >> * All generic sub-operations >> @@ -116,6 +117,26 @@ >> * HYPERVISOR_argo_op >> * All generic sub-operations >> * >> + * HYPERVISOR_hypfs_op >> + * All generic sub-operations >> + * >> + * HYPERVISOR_platform_op >> + * Exactly these sub-operations are supported: >> + * * XENPF_settime64 >> + * >> + * HYPERVISOR_vm_assist >> + * All generic sub-operations >> + * >> + * HYPERVISOR_dm_op >> + * All ioreq server sub-operations are supported as well as: > > I interpret this sentence as all the hypercall with 'ioreq' in their > name is supported. But, for Arm, we at least don't support > XEN_DMOP_map_mem_type_to_ioreq_server. What I meant is that we support all sub-ops from ioreq_server_dm_op (ioreq.c). XEN_DMOP_map_mem_type_to_ioreq_server is only accessible on x86 and not part of ioreq.c ~Michal
On 06/10/2023 11:20, Michal Orzel wrote: > On 06/10/2023 12:11, Julien Grall wrote: >> >> >> Hi Michal, >> >> On 06/10/2023 08:51, Michal Orzel wrote: >>> The list is out of date and does not specify all the hypercalls/sub-ops >>> we support, so update it. >>> >>> Signed-off-by: Michal Orzel <michal.orzel@amd.com> >>> --- >>> xen/include/public/arch-arm.h | 21 +++++++++++++++++++++ >>> 1 file changed, 21 insertions(+) >>> >>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h >>> index 6a4467e8f5d1..263b1e182eb3 100644 >>> --- a/xen/include/public/arch-arm.h >>> +++ b/xen/include/public/arch-arm.h >>> @@ -104,6 +104,7 @@ >>> * Exactly these sub-operations are supported: >>> * * HVMOP_set_param >>> * * HVMOP_get_param >>> + * * HVMOP_guest_request_vm_event >>> * >>> * HYPERVISOR_grant_table_op >>> * All generic sub-operations >>> @@ -116,6 +117,26 @@ >>> * HYPERVISOR_argo_op >>> * All generic sub-operations >>> * >>> + * HYPERVISOR_hypfs_op >>> + * All generic sub-operations >>> + * >>> + * HYPERVISOR_platform_op >>> + * Exactly these sub-operations are supported: >>> + * * XENPF_settime64 >>> + * >>> + * HYPERVISOR_vm_assist >>> + * All generic sub-operations >>> + * >>> + * HYPERVISOR_dm_op >>> + * All ioreq server sub-operations are supported as well as: >> >> I interpret this sentence as all the hypercall with 'ioreq' in their >> name is supported. But, for Arm, we at least don't support >> XEN_DMOP_map_mem_type_to_ioreq_server. > What I meant is that we support all sub-ops from ioreq_server_dm_op (ioreq.c). > XEN_DMOP_map_mem_type_to_ioreq_server is only accessible on x86 and not part of ioreq.c The header is a public interface and meant to be read by OS developper which may not be familiar with the source code. How about listing the subops we support? This will avoid the developper to go through the source code to find out if a sub-op is implemented in ioreq.c or not. Cheers,
Hello, On 06/10/2023 14:31, Julien Grall wrote: > Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. > > > On 06/10/2023 11:20, Michal Orzel wrote: >> On 06/10/2023 12:11, Julien Grall wrote: >>> >>> >>> Hi Michal, >>> >>> On 06/10/2023 08:51, Michal Orzel wrote: >>>> The list is out of date and does not specify all the hypercalls/sub-ops >>>> we support, so update it. >>>> >>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com> >>>> --- >>>> xen/include/public/arch-arm.h | 21 +++++++++++++++++++++ >>>> 1 file changed, 21 insertions(+) >>>> >>>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h >>>> index 6a4467e8f5d1..263b1e182eb3 100644 >>>> --- a/xen/include/public/arch-arm.h >>>> +++ b/xen/include/public/arch-arm.h >>>> @@ -104,6 +104,7 @@ >>>> * Exactly these sub-operations are supported: >>>> * * HVMOP_set_param >>>> * * HVMOP_get_param >>>> + * * HVMOP_guest_request_vm_event >>>> * >>>> * HYPERVISOR_grant_table_op >>>> * All generic sub-operations >>>> @@ -116,6 +117,26 @@ >>>> * HYPERVISOR_argo_op >>>> * All generic sub-operations >>>> * >>>> + * HYPERVISOR_hypfs_op >>>> + * All generic sub-operations >>>> + * >>>> + * HYPERVISOR_platform_op >>>> + * Exactly these sub-operations are supported: >>>> + * * XENPF_settime64 >>>> + * >>>> + * HYPERVISOR_vm_assist >>>> + * All generic sub-operations >>>> + * >>>> + * HYPERVISOR_dm_op >>>> + * All ioreq server sub-operations are supported as well as: >>> >>> I interpret this sentence as all the hypercall with 'ioreq' in their >>> name is supported. But, for Arm, we at least don't support >>> XEN_DMOP_map_mem_type_to_ioreq_server. >> What I meant is that we support all sub-ops from ioreq_server_dm_op (ioreq.c). >> XEN_DMOP_map_mem_type_to_ioreq_server is only accessible on x86 and not part of ioreq.c > > > The header is a public interface and meant to be read by OS developper > which may not be familiar with the source code. How about listing the > subops we support? > > This will avoid the developper to go through the source code to find out > if a sub-op is implemented in ioreq.c or not. Sure, I fully agree so I will then send a v2 with: * HYPERVISOR_dm_op * Exactly these sub-operations are supported: * * XEN_DMOP_create_ioreq_server * * XEN_DMOP_get_ioreq_server_info * * XEN_DMOP_map_io_range_to_ioreq_server * * XEN_DMOP_unmap_io_range_from_ioreq_server * * XEN_DMOP_set_ioreq_server_state * * XEN_DMOP_destroy_ioreq_server * * XEN_DMOP_set_irq_level * * XEN_DMOP_nr_vcpus I will also skip x86 patch given that Andrew wants to extend it. ~Michal
On 06/10/2023 13:38, Michal Orzel wrote: > Hello, > > On 06/10/2023 14:31, Julien Grall wrote: >> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. >> >> >> On 06/10/2023 11:20, Michal Orzel wrote: >>> On 06/10/2023 12:11, Julien Grall wrote: >>>> >>>> >>>> Hi Michal, >>>> >>>> On 06/10/2023 08:51, Michal Orzel wrote: >>>>> The list is out of date and does not specify all the hypercalls/sub-ops >>>>> we support, so update it. >>>>> >>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com> >>>>> --- >>>>> xen/include/public/arch-arm.h | 21 +++++++++++++++++++++ >>>>> 1 file changed, 21 insertions(+) >>>>> >>>>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h >>>>> index 6a4467e8f5d1..263b1e182eb3 100644 >>>>> --- a/xen/include/public/arch-arm.h >>>>> +++ b/xen/include/public/arch-arm.h >>>>> @@ -104,6 +104,7 @@ >>>>> * Exactly these sub-operations are supported: >>>>> * * HVMOP_set_param >>>>> * * HVMOP_get_param >>>>> + * * HVMOP_guest_request_vm_event >>>>> * >>>>> * HYPERVISOR_grant_table_op >>>>> * All generic sub-operations >>>>> @@ -116,6 +117,26 @@ >>>>> * HYPERVISOR_argo_op >>>>> * All generic sub-operations >>>>> * >>>>> + * HYPERVISOR_hypfs_op >>>>> + * All generic sub-operations >>>>> + * >>>>> + * HYPERVISOR_platform_op >>>>> + * Exactly these sub-operations are supported: >>>>> + * * XENPF_settime64 >>>>> + * >>>>> + * HYPERVISOR_vm_assist >>>>> + * All generic sub-operations >>>>> + * >>>>> + * HYPERVISOR_dm_op >>>>> + * All ioreq server sub-operations are supported as well as: >>>> >>>> I interpret this sentence as all the hypercall with 'ioreq' in their >>>> name is supported. But, for Arm, we at least don't support >>>> XEN_DMOP_map_mem_type_to_ioreq_server. >>> What I meant is that we support all sub-ops from ioreq_server_dm_op (ioreq.c). >>> XEN_DMOP_map_mem_type_to_ioreq_server is only accessible on x86 and not part of ioreq.c >> >> >> The header is a public interface and meant to be read by OS developper >> which may not be familiar with the source code. How about listing the >> subops we support? >> >> This will avoid the developper to go through the source code to find out >> if a sub-op is implemented in ioreq.c or not. > Sure, I fully agree so I will then send a v2 with: > * HYPERVISOR_dm_op > * Exactly these sub-operations are supported: > * * XEN_DMOP_create_ioreq_server > * * XEN_DMOP_get_ioreq_server_info > * * XEN_DMOP_map_io_range_to_ioreq_server > * * XEN_DMOP_unmap_io_range_from_ioreq_server > * * XEN_DMOP_set_ioreq_server_state > * * XEN_DMOP_destroy_ioreq_server > * * XEN_DMOP_set_irq_level > * * XEN_DMOP_nr_vcpus Thanks! With that you can add: Acked-by: Julien Grall <jgrall@amazon.com> Cheers,
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h index 6a4467e8f5d1..263b1e182eb3 100644 --- a/xen/include/public/arch-arm.h +++ b/xen/include/public/arch-arm.h @@ -104,6 +104,7 @@ * Exactly these sub-operations are supported: * * HVMOP_set_param * * HVMOP_get_param + * * HVMOP_guest_request_vm_event * * HYPERVISOR_grant_table_op * All generic sub-operations @@ -116,6 +117,26 @@ * HYPERVISOR_argo_op * All generic sub-operations * + * HYPERVISOR_hypfs_op + * All generic sub-operations + * + * HYPERVISOR_platform_op + * Exactly these sub-operations are supported: + * * XENPF_settime64 + * + * HYPERVISOR_vm_assist + * All generic sub-operations + * + * HYPERVISOR_dm_op + * All ioreq server sub-operations are supported as well as: + * * XEN_DMOP_set_irq_level + * * XEN_DMOP_nr_vcpus + * + * HYPERVISOR_xsm_op + * All generic sub-operations + * + * HYPERVISOR_multicall + * * Other notes on the ARM ABI: * * - struct start_info is not exported to ARM guests.
The list is out of date and does not specify all the hypercalls/sub-ops we support, so update it. Signed-off-by: Michal Orzel <michal.orzel@amd.com> --- xen/include/public/arch-arm.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)