From 3060e9b93bcc894a01e48b7fafae0a1d88f46bc2 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 24 Mar 2026 17:56:43 +0100 Subject: [PATCH] treewide: replace qemu_hw_version() with QEMU_HW_VERSION MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The version is never set on 2.5+ machine types, so qemu_hw_version() and qemu_set_hw_version() are not needed anymore. Reviewed-by: Daniel P. Berrangé Signed-off-by: Paolo Bonzini --- hw/ide/core.c | 2 +- hw/scsi/megasas.c | 2 +- hw/scsi/scsi-bus.c | 2 +- hw/scsi/scsi-disk.c | 2 +- include/hw/core/boards.h | 6 ------ include/qemu/hw-version.h | 18 ++++-------------- system/vl.c | 4 ---- target/s390x/cpu_models.c | 2 +- util/osdep.c | 12 ------------ 9 files changed, 9 insertions(+), 41 deletions(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index b45abf067b..d6719dbf31 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -2660,7 +2660,7 @@ int ide_init_drive(IDEState *s, IDEDevice *dev, IDEDriveKind kind, Error **errp) if (dev->version) { pstrcpy(s->version, sizeof(s->version), dev->version); } else { - pstrcpy(s->version, sizeof(s->version), qemu_hw_version()); + pstrcpy(s->version, sizeof(s->version), QEMU_HW_VERSION); } ide_reset(s); diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c index a29742d449..9e712721f8 100644 --- a/hw/scsi/megasas.c +++ b/hw/scsi/megasas.c @@ -782,7 +782,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd) memcpy(info.product_name, base_class->product_name, 24); snprintf(info.serial_number, 32, "%s", s->hba_serial); - snprintf(info.package_version, 0x60, "%s-QEMU", qemu_hw_version()); + snprintf(info.package_version, 0x60, "%s-QEMU", QEMU_HW_VERSION); memcpy(info.image_component[0].name, "APP", 3); snprintf(info.image_component[0].version, 10, "%s-QEMU", base_class->product_version); diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index 9b8656dd83..1a6b181b9d 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -703,7 +703,7 @@ static bool scsi_target_emulate_inquiry(SCSITargetReq *r) r->buf[7] = 0x10 | (r->req.bus->info->tcq ? 0x02 : 0); /* Sync, TCQ. */ memcpy(&r->buf[8], "QEMU ", 8); memcpy(&r->buf[16], "QEMU TARGET ", 16); - pstrcpy((char *) &r->buf[32], 4, qemu_hw_version()); + pstrcpy((char *) &r->buf[32], 4, QEMU_HW_VERSION); } return true; } diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index a520185535..5ba5b46c4f 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -2543,7 +2543,7 @@ static void scsi_realize(SCSIDevice *dev, Error **errp) } if (!s->version) { - s->version = g_strdup(qemu_hw_version()); + s->version = g_strdup(QEMU_HW_VERSION); } if (!s->vendor) { s->vendor = g_strdup("QEMU"); diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h index f85f31bd90..b8dad0a107 100644 --- a/include/hw/core/boards.h +++ b/include/hw/core/boards.h @@ -197,11 +197,6 @@ typedef struct { * used to provide @cpu_index to socket number mapping, allowing * a machine to group CPU threads belonging to the same socket/package * Returns: socket number given cpu_index belongs to. - * @hw_version: - * Value of QEMU_VERSION when the machine was added to QEMU. - * Set only by old machines because they need to keep - * compatibility on code that exposed QEMU_VERSION to guests in - * the past (and now use qemu_hw_version()). * @possible_cpu_arch_ids: * Returns an array of @CPUArchId architecture-dependent CPU IDs * which includes CPU IDs for present and possible to hotplug CPUs. @@ -297,7 +292,6 @@ struct MachineClass { const char *default_display; const char *default_nic; GPtrArray *compat_props; - const char *hw_version; ram_addr_t default_ram_size; const char *default_cpu_type; bool default_kernel_irqchip_split; diff --git a/include/qemu/hw-version.h b/include/qemu/hw-version.h index 730a8c904d..ce318cd843 100644 --- a/include/qemu/hw-version.h +++ b/include/qemu/hw-version.h @@ -1,5 +1,5 @@ /* - * QEMU "hardware version" machinery + * QEMU "hardware version" constant * * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. @@ -8,20 +8,10 @@ #define QEMU_HW_VERSION_H /* - * Starting on QEMU 2.5, qemu_hw_version() returns "2.5+" by default - * instead of QEMU_VERSION, so setting hw_version on MachineClass - * is no longer mandatory. - * - * Do NOT change this string, or it will break compatibility on all - * machine classes that don't set hw_version. + * Starting on QEMU 2.5, devices with a version string in their + * identification data return "2.5+" instead of QEMU_VERSION. Do + * NOT change this string as it is visible to guests. */ #define QEMU_HW_VERSION "2.5+" -/* QEMU "hardware version" setting. Used to replace code that exposed - * QEMU_VERSION to guests in the past and need to keep compatibility. - * Do not use qemu_hw_version() in new code. - */ -void qemu_set_hw_version(const char *); -const char *qemu_hw_version(void); - #endif diff --git a/system/vl.c b/system/vl.c index 38d7b849e0..246623b319 100644 --- a/system/vl.c +++ b/system/vl.c @@ -2212,10 +2212,6 @@ static void qemu_create_machine(QDict *qdict) cpu_exec_init_all(); - if (machine_class->hw_version) { - qemu_set_hw_version(machine_class->hw_version); - } - /* * Get the default machine options from the machine if it is not already * specified either by the configuration file or by the command line. diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index 954a7a99a9..0b88868289 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -955,7 +955,7 @@ static void s390_qemu_cpu_model_class_init(ObjectClass *oc, const void *data) xcc->is_migration_safe = true; xcc->desc = g_strdup_printf("QEMU Virtual CPU version %s", - qemu_hw_version()); + QEMU_HW_VERSION); } static void s390_max_cpu_model_class_init(ObjectClass *oc, const void *data) diff --git a/util/osdep.c b/util/osdep.c index 000e7daac8..4a8b8b5a90 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -31,8 +31,6 @@ #include "qemu/hw-version.h" #include "monitor/monitor.h" -static const char *hw_version = QEMU_HW_VERSION; - int socket_set_cork(int fd, int v) { #if defined(SOL_TCP) && defined(TCP_CORK) @@ -533,16 +531,6 @@ ssize_t qemu_send_full(int s, const void *buf, size_t count) return total; } -void qemu_set_hw_version(const char *version) -{ - hw_version = version; -} - -const char *qemu_hw_version(void) -{ - return hw_version; -} - #ifdef _WIN32 static void socket_cleanup(void) {