On 08/05/2025 14:35, Philippe Mathieu-Daudé wrote:

The VIRTIO_CONSOLE_F_EMERG_WRITE feature bit was only set
in the hw_compat_2_7[] array, via the 'emergency-write=off'
property. We removed all machines using that array, lets remove
that property. All instances have this feature bit set and
it can not be disabled. VirtIOSerial::host_features mask is
now unused, remove it.

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
  include/hw/virtio/virtio-serial.h | 2 --
  hw/char/virtio-serial-bus.c       | 9 +++------
  2 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/include/hw/virtio/virtio-serial.h 
b/include/hw/virtio/virtio-serial.h
index d87c62eab7a..e6ceacec309 100644
--- a/include/hw/virtio/virtio-serial.h
+++ b/include/hw/virtio/virtio-serial.h
@@ -185,8 +185,6 @@ struct VirtIOSerial {
      struct VirtIOSerialPostLoad *post_load;
virtio_serial_conf serial;
-
-    uint64_t host_features;
  };
/* Interface to the virtio-serial bus */
diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
index eb79f5258b6..cfc8fa42186 100644
--- a/hw/char/virtio-serial-bus.c
+++ b/hw/char/virtio-serial-bus.c
@@ -557,7 +557,7 @@ static uint64_t get_features(VirtIODevice *vdev, uint64_t 
features,
vser = VIRTIO_SERIAL(vdev); - features |= vser->host_features;
+    features |= BIT_ULL(VIRTIO_CONSOLE_F_EMERG_WRITE);
      if (vser->bus.max_nr_ports > 1) {
          virtio_add_feature(&features, VIRTIO_CONSOLE_F_MULTIPORT);
      }
@@ -587,8 +587,7 @@ static void set_config(VirtIODevice *vdev, const uint8_t 
*config_data)
      VirtIOSerialPortClass *vsc;
      uint8_t emerg_wr_lo;
- if (!virtio_has_feature(vser->host_features,
-        VIRTIO_CONSOLE_F_EMERG_WRITE) || !config->emerg_wr) {
+    if (!config->emerg_wr) {
          return;
      }
@@ -1039,7 +1038,7 @@ static void virtio_serial_device_realize(DeviceState *dev, Error **errp)
          return;
      }
- if (!virtio_has_feature(vser->host_features,
+    if (!virtio_has_feature(vdev->host_features,
                              VIRTIO_CONSOLE_F_EMERG_WRITE)) {
          config_size = offsetof(struct virtio_console_config, emerg_wr);
      }
@@ -1155,8 +1154,6 @@ static const VMStateDescription vmstate_virtio_console = {
  static const Property virtio_serial_properties[] = {
      DEFINE_PROP_UINT32("max_ports", VirtIOSerial, serial.max_virtserial_ports,
                                                    31),
-    DEFINE_PROP_BIT64("emergency-write", VirtIOSerial, host_features,
-                      VIRTIO_CONSOLE_F_EMERG_WRITE, true),
  };
static void virtio_serial_class_init(ObjectClass *klass, const void *data)

LGTM.

Reviewed-by: Mark Cave-Ayland <mark.caveayl...@nutanix.com>


ATB,

Mark.


Reply via email to