On Fri, Jan 05, 2024 at 03:20:13 -0500, Laine Stump wrote: > Xen only supports a single type of PCI hostdev assignment, so it is > superfluous to have <driver name='xen'/> peppered throughout the > config. It *is* necessary to have the driver type explicitly set in > the hostdev object before calling into the hypervisor-agnostic "hostdev > manager" though (otherwise the hostdev manager doesn't know whether it > should do Xen-specific setup, or VFIO-specific setup). > > Historically, the Xen driver has checked for "default" driver name > (i.e. not set in the XML), and set it to "xen', during the XML > postparse, thus guaranteeing that it will be set by the time the > object is sent to the hostdev manager at runtime, but also setting it > so early that a simple round-trip of parse-format results in the XML > always containing an explicit <driver name='xen'/>, even if that > wasn't specified in the original XML. > > The QEMU driver *doesn't* set driver.name during postparse though; > instead, it waits until domain startup time (or device attach time for > hotplug), and sets the driver.name then. The result is that a > parse-format round trip of the XML in the QEMU driver *doesn't* add in > the <driver name='vfio'/>. > > This patch modifies the Xen driver to behave similarly to the QEMU > driver - the PostParse just checks for a driver.name that isn't > supported by the Xen driver, and any explicit setting to "xen" is > deferred until domain runtime rather than during the postparse, thus > Xen domain XML also doesn't get extraneous <driver name='xen'/>. > > This delayed setting of driver.name of course results in slightly > different xml2xml parse-format results, so the unit test data is > modified accordingly. > > Signed-off-by: Laine Stump <laine@xxxxxxxxxx> > --- > > Change from V2: add note in source code that the default value set > internally for driver name during libxlPrepareDevices should never > change unless the new and old defaults are guest ABI compatible. (this > will only have meaning if a 2nd type of device assignment for the Xen > driver is ever introduced) Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx> _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx