diff options
author | Kashyap Chamarthy <kchamart@redhat.com> | 2021-05-21 11:41:39 +0200 |
---|---|---|
committer | Stephen Finucane <stephenfin@redhat.com> | 2021-09-02 17:46:22 +0100 |
commit | c59084397401c690c6b23b5c8631138ec85e8f04 (patch) | |
tree | e4fa8909de5e9f54075b1dd760edce0119564943 /nova/notifications | |
parent | 771ea5bf1ea667d6ffe456ee6ef081b83a77f53c (diff) | |
download | nova-c59084397401c690c6b23b5c8631138ec85e8f04.tar.gz |
Allow 'bochs' as a display device option
The 'bochs' display device is a recommended[1] safe option for UEFI
guests. This is supported in libvirt from version 5.6.0; Nova's current
MIN_LIBVIRT_VERSION (6.0.0) satisfies this requirement.
Partially quoting the "bochs display device" section from a post written
by a QEMU graphics maintainer[1]:
[...] Main advantage over standard VGA is that this device is alot
simpler. The code size and complexity needed to emulate this device
is an order of magnitude smaller, resulting in a reduced attack
surface. Another nice feature is that you can place this device in a
PCI Express slot.
For UEFI guests it is safe to use the bochs display device instead
of the standard VGA device. The firmware will setup a linear
framebuffer as GOP anyway and never use any legacy VGA features.
For BIOS guests this device might be useable as well, depending on
whenever they depend on direct VGA hardware access or not. There is
a vgabios which supports text rendering on a linear framebuffer, so
software which uses the vgabios services for text output will
continue to work. Linux bootloaders typically fall into this
category. The linux text mode console (vgacon) uses direct hardware
access and does not work. The framebuffer console (fbcon running on
vesafb or bochs-drm) works.
[1] https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/
Implements: blueprint add-bochs-display-device
Change-Id: Id194028f5d2cbaac1c5e699b71fd9751f87f5da5
Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
Diffstat (limited to 'nova/notifications')
-rw-r--r-- | nova/notifications/objects/image.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/nova/notifications/objects/image.py b/nova/notifications/objects/image.py index d35627eb3d..0240d00105 100644 --- a/nova/notifications/objects/image.py +++ b/nova/notifications/objects/image.py @@ -124,7 +124,8 @@ class ImageMetaPropsPayload(base.NotificationPayloadBase): # Version 1.5: Added 'hw_tpm_model' and 'hw_tpm_version' fields # Version 1.6: Added 'socket' to hw_pci_numa_affinity_policy # Version 1.7: Added 'hw_input_bus' field - VERSION = '1.7' + # Version 1.8: Added 'bochs' as an option to 'hw_video_model' + VERSION = '1.8' SCHEMA = { k: ('image_meta_props', k) for k in image_meta.ImageMetaProps.fields} |