On Thu, Oct 10, 2019 at 04:11:11PM +0100, Ian Jackson wrote: > LIBXL_PASSTHROUGH_UNKNOWN (aka "ENABLED" in an earlier uncommitted > version of this code) is doing double duty. We actually need all of > the following to be specificable: > * default ("unknown"): enable PT iff we have devices to > pass through specified in the initial config file. > * "enabled" (and fail if the platform doesn't support it). > * "disabled" (and reject future PT hotplug). > * "share_pt"/"sync_pt": enable PT and set a specific PT mode. > > Defaulting and error checking should be done in libxl. So, we make > several changes here. > > We introduce "enabled". (And we document "unknown".) > > We move all of the error checking and defaulting code from xl into > libxl. Now, libxl__domain_config_setdefault has all of the necessary > information to get this right. So we can do it all there, in one > place. > > We can also arrange to have only one place each which calculates > (i) whether passthrough needs to be enabled because pt devices were > specified (ii) whether pt_share can be used. > > xl now only has to parse the enum in the same way as it parses all > other enums. > > This change fixes a regression from earlier 4.13-pre: until recent > changes, passthrough was only enabled by default if passthrough > devices were specified. We restore this behaviour. > > This will hide, from the point of view of libvirt tests in osstest, a > separate hypervisor regression which prevents migration of a domain > with passthrough enabled but without actual PT devices.
I think Jan committed a patch to fix that, so this may need deleting. I will let Jan and Paul confirm this. Wei. _______________________________________________ Xen-devel mailing list Xenfirstname.lastname@example.org https://lists.xenproject.org/mailman/listinfo/xen-devel