nova/nova/notifications/objects
Kashyap Chamarthy c590843974 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>
2021-09-02 17:46:22 +01:00
..
__init__.py Move notification related code to separate package 2016-06-08 11:32:53 +02:00
aggregate.py Add Aggregate image caching progress notifications 2019-10-29 08:18:32 -07:00
base.py Add Aggregate image caching progress notifications 2019-10-29 08:18:32 -07:00
compute_task.py Transform compute_task notifications 2018-11-21 16:23:28 +09:00
exception.py Use 'Exception.__traceback__' for versioned notifications 2020-06-08 14:38:33 +01:00
flavor.py Add FlavorPayload.description for versioned notifications 2017-11-14 09:14:12 -05:00
image.py Allow 'bochs' as a display device option 2021-09-02 17:46:22 +01:00
instance.py virt: Remove 'get_all_bw_counters' API 2020-11-24 15:29:21 +00:00
keypair.py Transform keypair.import notification 2017-10-30 16:44:29 -04:00
libvirt.py Transform libvirt.error notification 2018-09-18 07:06:09 +00:00
metrics.py Transform metrics.update notification 2018-07-18 09:13:27 +09:00
request_spec.py objects: Add 'socket' PCI NUMA affinity 2021-02-24 10:23:33 +00:00
scheduler.py Transform scheduler.select_destinations notification 2018-11-30 13:20:35 +01:00
server_group.py Add policy field to ServerGroup notification object 2018-07-12 10:00:05 +08:00
service.py Versioned notifications for service create and delete 2017-11-27 11:11:44 -05:00
volume.py Transform volume.usage notification 2018-10-09 06:28:11 +00:00