Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2216006/?format=api
{ "id": 2216006, "url": "http://patchwork.ozlabs.org/api/patches/2216006/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260325164453.72127-4-pbonzini@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260325164453.72127-4-pbonzini@redhat.com>", "list_archive_url": null, "date": "2026-03-25T16:44:37", "name": "[PULL,03/19] treewide: replace qemu_hw_version() with QEMU_HW_VERSION", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "b204dbb822f61d24537474026722fa9a2125efae", "submitter": { "id": 2701, "url": "http://patchwork.ozlabs.org/api/people/2701/?format=api", "name": "Paolo Bonzini", "email": "pbonzini@redhat.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260325164453.72127-4-pbonzini@redhat.com/mbox/", "series": [ { "id": 497473, "url": "http://patchwork.ozlabs.org/api/series/497473/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=497473", "date": "2026-03-25T16:44:34", "name": "[PULL,01/19] tests/functional: preserve PYTHONPATH entries", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/497473/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2216006/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2216006/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=bh2zjm5z;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=XVs/j2IT;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgt7q1m4rz1xy3\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 03:45:43 +1100 (AEDT)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1w5RLy-0004oL-UY; Wed, 25 Mar 2026 12:45:10 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pbonzini@redhat.com>)\n id 1w5RLw-0004n9-MA\n for qemu-devel@nongnu.org; Wed, 25 Mar 2026 12:45:08 -0400", "from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <pbonzini@redhat.com>)\n id 1w5RLu-0004bC-SH\n for qemu-devel@nongnu.org; Wed, 25 Mar 2026 12:45:08 -0400", "from mail-wm1-f70.google.com (mail-wm1-f70.google.com\n [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-480-IapqCzNyMH-qUQuL1xdv4g-1; Wed, 25 Mar 2026 12:45:04 -0400", "by mail-wm1-f70.google.com with SMTP id\n 5b1f17b1804b1-48532df52c5so555945e9.1\n for <qemu-devel@nongnu.org>; Wed, 25 Mar 2026 09:45:04 -0700 (PDT)", "from [192.168.10.48] ([151.49.85.67])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-4871e5ec998sm6608935e9.6.2026.03.25.09.45.00\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 25 Mar 2026 09:45:01 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1774457106;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=UUgZYDFnXbpRFKsK/7IcqnW5+bod3HtrYWPP2Q8eSRg=;\n b=bh2zjm5zsU4Gi6ljWp8w5zXDPqYKuxETzVvBJKeCxX/xP11ZfSmDabQ4BmTNuKj+LuZ0HD\n eHvO6NZm5SyWY55+3rvB1StzcKSbPcHbn3OKS5s3WecRDhNj64u8/BCdYxUCHPlljhJuxl\n pMbrF5siEstSXGFDfCzhPIbdbnH3+Ok=", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1774457103; x=1775061903; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=UUgZYDFnXbpRFKsK/7IcqnW5+bod3HtrYWPP2Q8eSRg=;\n b=XVs/j2ITGuaU4stnOZNxaOTo/z0mKaPsyUzx4cFImSyV3GTXzAaVwRy3BEnDnmf/kx\n YxcQMzOSKHDhhd5fTJUF1uPv/qg+GCPZqStKBcrXNPq+zVKxwcJheqFYQ9k2w+RIj5Px\n Ih3o9zJSBLWtP3Pag93zyKEbc/6nOPyCifMurscbXUey+GG5tIA1YFbvgoLOWEbxpyqF\n CalerPBiy1Y3C1Z+hXxYbajWWxAFQQBVmbRA2Rj7/MtQxCEpgwdoeGy4DwKbvf7nx1QV\n gJVgG/iHiiYAzzCw9eERX4gUQX69DJ7/SZ3jwHlnqTof6cg/X2ygohrI05s72lP/KzPk\n 049A==" ], "X-MC-Unique": "IapqCzNyMH-qUQuL1xdv4g-1", "X-Mimecast-MFC-AGG-ID": "IapqCzNyMH-qUQuL1xdv4g_1774457104", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774457103; x=1775061903;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=UUgZYDFnXbpRFKsK/7IcqnW5+bod3HtrYWPP2Q8eSRg=;\n b=qCel54JpthKpzH424QOt/walp+np+ypg9E6B+WwEU2akDQWUWQTmXo3SHtOW7XBObD\n EHmn1GclqrR3jkTaFVO9auReoB4gCkMSaPmFwrq+GwN3s8Gh2KIhKIR8lSJEJHmmPZKi\n Zt5MiHfiQhgFdAZQwhlxm0Y8gfgYvzA7IuRobNMYBfKBX/p6xI0jH52HQj0q8PPLlNNJ\n K3HKi/WjQhRFtgh/aCZoxgrPxlYDM5sM8xL8aIgaaVd3yX0iLICRsfsoN1ZqnxFzrecK\n lgPKVat1e68NxO/H1/fqXKJ6pAr8POO78YUvq8GwuqHvKL+xtkPXLpZbUIBYpJ1CgDOx\n WaSg==", "X-Gm-Message-State": "AOJu0YxsAoSxfshnuIQ/cOAT2uLCE5/oALE4qDfe5UHI1BU16EQcG0td\n uTkR7SCoSyeJNSisVnpmxXfic7TDjhLvTFO0Qgk31Pl6vxXzBDkU/9ut5gvaZ63jOq/VwgaSJaD\n aM7fhqtN4gY/18osik12v/js5R9DTZtRW21tqDxAxGdvch8N95VRFlhtVxrW/z/95a9K4FZP8Ui\n 14dTQFoi6Rv4RjqibvxQuo79qI/cM9vVZfAp1956Yn", "X-Gm-Gg": "ATEYQzwZU2b9uQHjxlUkY6D5rlOACJuQZdgOHcNAHwnSdxmvgmLUo7ed+Vov0gxTgr2\n X288dhoKSlloyroqstxr3HqB5DCgwjk+PEHkcDp+zvqJyDzAJ5k9AbhucLxv675HekCfvlT0U4V\n Z7oJXMo38KOGuCikDOMWv+Erj7ptpaChpgsC7DXL8b5vJqMRpzMp+4WtNnjOVP8uCMTC61lm8Pu\n Z3WnlJzGYXaYO+E8eHHHdH3NKZnIvRmKaDHrHSej7xKEJkj6TvJec3H7arsDQy0J4/pTtW9yrlP\n Zhet1ZxFyPTyQ6EB5C8ccN56UuNOYGj5xpvXxE4ZoVtOACLW1WUy+RQXipdeDlF4QoAu8HCtEjg\n 8wqaSA/ADN7QL/hgOSX1k4qwKBZ3SgYBissjqZDMsdB1HjuEKduP1KpzQu+vWyEoMTBfkZNwu9P\n SUTvekB/xmQ+C7lUj/cUl/I3w/", "X-Received": [ "by 2002:a05:600c:4705:b0:485:a4de:f4f9 with SMTP id\n 5b1f17b1804b1-4871608406dmr68358185e9.27.1774457102406;\n Wed, 25 Mar 2026 09:45:02 -0700 (PDT)", "by 2002:a05:600c:4705:b0:485:a4de:f4f9 with SMTP id\n 5b1f17b1804b1-4871608406dmr68357455e9.27.1774457101754;\n Wed, 25 Mar 2026 09:45:01 -0700 (PDT)" ], "From": "Paolo Bonzini <pbonzini@redhat.com>", "To": "qemu-devel@nongnu.org", "Cc": "=?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>", "Subject": "[PULL 03/19] treewide: replace qemu_hw_version() with QEMU_HW_VERSION", "Date": "Wed, 25 Mar 2026 17:44:37 +0100", "Message-ID": "<20260325164453.72127-4-pbonzini@redhat.com>", "X-Mailer": "git-send-email 2.53.0", "In-Reply-To": "<20260325164453.72127-1-pbonzini@redhat.com>", "References": "<20260325164453.72127-1-pbonzini@redhat.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=170.10.133.124;\n envelope-from=pbonzini@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no", "X-Spam_action": "no action", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "The version is never set on 2.5+ machine types, so qemu_hw_version() and\nqemu_set_hw_version() are not needed anymore.\n\nReviewed-by: Daniel P. Berrangé <berrange@redhat.com>\nSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>\n---\n include/hw/core/boards.h | 6 ------\n include/qemu/hw-version.h | 18 ++++--------------\n hw/ide/core.c | 2 +-\n hw/scsi/megasas.c | 2 +-\n hw/scsi/scsi-bus.c | 2 +-\n hw/scsi/scsi-disk.c | 2 +-\n system/vl.c | 4 ----\n target/s390x/cpu_models.c | 2 +-\n util/osdep.c | 12 ------------\n 9 files changed, 9 insertions(+), 41 deletions(-)", "diff": "diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h\nindex f85f31bd90d..b8dad0a1074 100644\n--- a/include/hw/core/boards.h\n+++ b/include/hw/core/boards.h\n@@ -197,11 +197,6 @@ typedef struct {\n * used to provide @cpu_index to socket number mapping, allowing\n * a machine to group CPU threads belonging to the same socket/package\n * Returns: socket number given cpu_index belongs to.\n- * @hw_version:\n- * Value of QEMU_VERSION when the machine was added to QEMU.\n- * Set only by old machines because they need to keep\n- * compatibility on code that exposed QEMU_VERSION to guests in\n- * the past (and now use qemu_hw_version()).\n * @possible_cpu_arch_ids:\n * Returns an array of @CPUArchId architecture-dependent CPU IDs\n * which includes CPU IDs for present and possible to hotplug CPUs.\n@@ -297,7 +292,6 @@ struct MachineClass {\n const char *default_display;\n const char *default_nic;\n GPtrArray *compat_props;\n- const char *hw_version;\n ram_addr_t default_ram_size;\n const char *default_cpu_type;\n bool default_kernel_irqchip_split;\ndiff --git a/include/qemu/hw-version.h b/include/qemu/hw-version.h\nindex 730a8c904d9..ce318cd8435 100644\n--- a/include/qemu/hw-version.h\n+++ b/include/qemu/hw-version.h\n@@ -1,5 +1,5 @@\n /*\n- * QEMU \"hardware version\" machinery\n+ * QEMU \"hardware version\" constant\n *\n * This work is licensed under the terms of the GNU GPL, version 2 or later.\n * See the COPYING file in the top-level directory.\n@@ -8,20 +8,10 @@\n #define QEMU_HW_VERSION_H\n \n /*\n- * Starting on QEMU 2.5, qemu_hw_version() returns \"2.5+\" by default\n- * instead of QEMU_VERSION, so setting hw_version on MachineClass\n- * is no longer mandatory.\n- *\n- * Do NOT change this string, or it will break compatibility on all\n- * machine classes that don't set hw_version.\n+ * Starting on QEMU 2.5, devices with a version string in their\n+ * identification data return \"2.5+\" instead of QEMU_VERSION. Do\n+ * NOT change this string as it is visible to guests.\n */\n #define QEMU_HW_VERSION \"2.5+\"\n \n-/* QEMU \"hardware version\" setting. Used to replace code that exposed\n- * QEMU_VERSION to guests in the past and need to keep compatibility.\n- * Do not use qemu_hw_version() in new code.\n- */\n-void qemu_set_hw_version(const char *);\n-const char *qemu_hw_version(void);\n-\n #endif\ndiff --git a/hw/ide/core.c b/hw/ide/core.c\nindex b45abf067b2..d6719dbf31d 100644\n--- a/hw/ide/core.c\n+++ b/hw/ide/core.c\n@@ -2660,7 +2660,7 @@ int ide_init_drive(IDEState *s, IDEDevice *dev, IDEDriveKind kind, Error **errp)\n if (dev->version) {\n pstrcpy(s->version, sizeof(s->version), dev->version);\n } else {\n- pstrcpy(s->version, sizeof(s->version), qemu_hw_version());\n+ pstrcpy(s->version, sizeof(s->version), QEMU_HW_VERSION);\n }\n \n ide_reset(s);\ndiff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c\nindex f62e420a91e..0276886d594 100644\n--- a/hw/scsi/megasas.c\n+++ b/hw/scsi/megasas.c\n@@ -782,7 +782,7 @@ static int megasas_ctrl_get_info(MegasasState *s, MegasasCmd *cmd)\n \n memcpy(info.product_name, base_class->product_name, 24);\n snprintf(info.serial_number, 32, \"%s\", s->hba_serial);\n- snprintf(info.package_version, 0x60, \"%s-QEMU\", qemu_hw_version());\n+ snprintf(info.package_version, 0x60, \"%s-QEMU\", QEMU_HW_VERSION);\n memcpy(info.image_component[0].name, \"APP\", 3);\n snprintf(info.image_component[0].version, 10, \"%s-QEMU\",\n base_class->product_version);\ndiff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c\nindex 9b8656dd832..1a6b181b9d6 100644\n--- a/hw/scsi/scsi-bus.c\n+++ b/hw/scsi/scsi-bus.c\n@@ -703,7 +703,7 @@ static bool scsi_target_emulate_inquiry(SCSITargetReq *r)\n r->buf[7] = 0x10 | (r->req.bus->info->tcq ? 0x02 : 0); /* Sync, TCQ. */\n memcpy(&r->buf[8], \"QEMU \", 8);\n memcpy(&r->buf[16], \"QEMU TARGET \", 16);\n- pstrcpy((char *) &r->buf[32], 4, qemu_hw_version());\n+ pstrcpy((char *) &r->buf[32], 4, QEMU_HW_VERSION);\n }\n return true;\n }\ndiff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c\nindex a5201855352..5ba5b46c4f4 100644\n--- a/hw/scsi/scsi-disk.c\n+++ b/hw/scsi/scsi-disk.c\n@@ -2543,7 +2543,7 @@ static void scsi_realize(SCSIDevice *dev, Error **errp)\n }\n \n if (!s->version) {\n- s->version = g_strdup(qemu_hw_version());\n+ s->version = g_strdup(QEMU_HW_VERSION);\n }\n if (!s->vendor) {\n s->vendor = g_strdup(\"QEMU\");\ndiff --git a/system/vl.c b/system/vl.c\nindex 38d7b849e0a..246623b3196 100644\n--- a/system/vl.c\n+++ b/system/vl.c\n@@ -2212,10 +2212,6 @@ static void qemu_create_machine(QDict *qdict)\n \n cpu_exec_init_all();\n \n- if (machine_class->hw_version) {\n- qemu_set_hw_version(machine_class->hw_version);\n- }\n-\n /*\n * Get the default machine options from the machine if it is not already\n * specified either by the configuration file or by the command line.\ndiff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c\nindex 954a7a99a9e..0b88868289b 100644\n--- a/target/s390x/cpu_models.c\n+++ b/target/s390x/cpu_models.c\n@@ -955,7 +955,7 @@ static void s390_qemu_cpu_model_class_init(ObjectClass *oc, const void *data)\n \n xcc->is_migration_safe = true;\n xcc->desc = g_strdup_printf(\"QEMU Virtual CPU version %s\",\n- qemu_hw_version());\n+ QEMU_HW_VERSION);\n }\n \n static void s390_max_cpu_model_class_init(ObjectClass *oc, const void *data)\ndiff --git a/util/osdep.c b/util/osdep.c\nindex 000e7daac8b..4a8b8b5a90f 100644\n--- a/util/osdep.c\n+++ b/util/osdep.c\n@@ -31,8 +31,6 @@\n #include \"qemu/hw-version.h\"\n #include \"monitor/monitor.h\"\n \n-static const char *hw_version = QEMU_HW_VERSION;\n-\n int socket_set_cork(int fd, int v)\n {\n #if defined(SOL_TCP) && defined(TCP_CORK)\n@@ -533,16 +531,6 @@ ssize_t qemu_send_full(int s, const void *buf, size_t count)\n return total;\n }\n \n-void qemu_set_hw_version(const char *version)\n-{\n- hw_version = version;\n-}\n-\n-const char *qemu_hw_version(void)\n-{\n- return hw_version;\n-}\n-\n #ifdef _WIN32\n static void socket_cleanup(void)\n {\n", "prefixes": [ "PULL", "03/19" ] }