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 <[email protected]>
> ---
> 
> 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 <[email protected]>
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to