On 07/08/2019 15:30, Jan Beulich wrote: > On 07.08.2019 15:41, Andrew Cooper wrote: >> On 07/08/2019 12:20, Eslam Elnikety wrote: >>> diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h >>> index 19486d5e32..654b4fdd22 100644 >>> --- a/xen/include/public/domctl.h >>> +++ b/xen/include/public/domctl.h >>> @@ -64,6 +64,9 @@ struct xen_domctl_createdomain { >>> /* Is this a xenstore domain? */ >>> #define _XEN_DOMCTL_CDF_xs_domain 4 >>> #define XEN_DOMCTL_CDF_xs_domain (1U<<_XEN_DOMCTL_CDF_xs_domain) >>> + /* Disable FIFO event channels? */ >>> +#define _XEN_DOMCTL_CDF_disable_fifo 5 >>> +#define XEN_DOMCTL_CDF_disable_fifo >>> (1U<<_XEN_DOMCTL_CDF_disable_fifo) >>> uint32_t flags; >> >> On the subject of the the patch itself, I think this is broadly the >> right principle, but wants to be expressed differently. >> >> First, you'll want to rebase onto a very recent master, and specifically >> over c/s d8f2490561eb which has changed how this field is handled in >> Xen. >> >> Furthermore, if there is this problem for event channels, then there is >> almost certainly a related problem for grant tables. >> >> The control in Xen should be expressed in a positive form, or the logic >> will become a tangle. It should be a bit permitting the use of the FIFO >> ABI, rather than a bit saying "oh actually, you can't use that". >> >> That said, it might be easier to declare FIFO to be "event channel v2", >> and specify max_{grant,evntchn}_ver instead. > > I'm not sure assuming linear (or actually any) ordering between > variants is a good thing. Yes, right now we only have gnttab > v1 and v2 and evtchn 2l and fifo, which could be considered v1 > and v2 as you suggest. However, assuming a 3rd variant surfaces, > why would it be that one has to expose v2 just to make v3 > usable? In particular gnttab v2 has various issues (which is why > you introduced a way to disable its use in the first place), yet > I'd hope we'd end up with a less quirky v3 if one ever becomes > necessary. And in turn I'd hope we could hide v2 from any v3 > users. > > IOW I think a bitmap to permit use of "advanced" versions is > more future proof. (As a side note, I don't think we want to > introduce a disable for the respective v1 interfaces.)
We absolutely do want a way to turn everything off. The inability to turn the Xen extensions off for HVM guests (even if only for debugging purposes) is a severely short sighted decision. It is also a feature which has been requested repeatedly by users in the past, and I am very deliberately building a way to do this into the CPUID work. However, it is an unreasonable request to bundle into this bugfix, hence why I didn't suggest it. Now I think about it, things like available ABIs really should be in the Xen hypervisor CPUID leaves, but again, that ship sailed a decade ago. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel