[libvirt] [PATCH 1/3] conf: Add rom.enabled attribute for PCI devices
Peter Krempa
pkrempa at redhat.com
Mon Apr 23 06:53:53 UTC 2018
On Fri, Apr 20, 2018 at 17:44:29 +0200, Andrea Bolognani wrote:
> The attribute can be used to disable ROM loading completely
> for a device.
>
> Signed-off-by: Andrea Bolognani <abologna at redhat.com>
> ---
> docs/formatdomain.html.in | 3 +++
> docs/schemas/domaincommon.rng | 5 +++++
> src/conf/device_conf.h | 1 +
> src/conf/domain_conf.c | 26 +++++++++++++++++++++++++-
> 4 files changed, 34 insertions(+), 1 deletion(-)
>
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index ada0df227f..0afc310e25 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -4476,6 +4476,9 @@
> virtual function of an sr-iov capable ethernet device (which
> has no boot ROMs for the VFs).
> <span class="since">Since 0.9.10 (QEMU and KVM only)</span>.
> + The optional <code>enabled</code> attribute can be set to
> + <code>no</code> to disable PCI ROM loading completely for the device.
> + <span class="since">Since 4.3.0 (QEMU and KVM only)</span>.
Maybe you should mention that any other configration may not be
supported in that case.
[...]
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 35666c1347..3c152441df 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
[...]
> @@ -6798,6 +6813,14 @@ virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
> goto cleanup;
> }
> info->romfile = virXMLPropString(rom, "file");
> +
> + if (info->romenabled == VIR_TRISTATE_BOOL_NO &&
> + (info->rombar != VIR_TRISTATE_SWITCH_ABSENT || info->romfile)) {
I'd explicitly allow empty string in info->romfile, but that would mean
that this needs to be moved to the qemu post-parse callback, since that
is a qemu quirk.
Justification is that, mgmt tools will be able to use enabled='no'
together with the empty file string without having to do any probing
whether that is a valid configuration.
> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
> + "%s",
Above line can be merged into previous one.
> + _("ROM tuning is not supported when ROM is disabled"));
> + goto cleanup;
> + }
> }
>
> if (address &&
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180423/88e2b9f1/attachment-0001.sig>
More information about the libvir-list
mailing list