get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2227739/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2227739,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2227739/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260424080508.53992-9-jamin_lin@aspeedtech.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.1/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": ""
    },
    "msgid": "<20260424080508.53992-9-jamin_lin@aspeedtech.com>",
    "date": "2026-04-24T08:05:20",
    "name": "[v5,08/18] hw/core: Add 11.0 machine compatibility properties",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "0ef4f89d5f81b4fc3afd95a36ce68a9c4ced6e23",
    "submitter": {
        "id": 81768,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/81768/?format=api",
        "name": "Jamin Lin",
        "email": "jamin_lin@aspeedtech.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260424080508.53992-9-jamin_lin@aspeedtech.com/mbox/",
    "series": [
        {
            "id": 501315,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501315/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501315",
            "date": "2026-04-24T08:05:08",
            "name": "hw/usb/ehci: Add 64-bit descriptor addressing support",
            "version": 5,
            "mbox": "http://patchwork.ozlabs.org/series/501315/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2227739/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2227739/checks/",
    "tags": {},
    "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 (2048-bit key;\n unprotected) header.d=aspeedtech.com header.i=@aspeedtech.com\n header.a=rsa-sha256 header.s=selector1 header.b=VoKhM+Q4;\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=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=aspeedtech.com;"
        ],
        "Received": [
            "from lists1p.gnu.org (lists1p.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 4g25Ct1JxMz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 18:07:22 +1000 (AEST)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wGBXc-00050B-3h; Fri, 24 Apr 2026 04:05:36 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jamin_lin@aspeedtech.com>)\n id 1wGBXZ-0004u6-1v; Fri, 24 Apr 2026 04:05:33 -0400",
            "from mail-japaneastazlp170130007.outbound.protection.outlook.com\n ([2a01:111:f403:c405::7] helo=TYDPR03CU002.outbound.protection.outlook.com)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jamin_lin@aspeedtech.com>)\n id 1wGBXW-0001GV-8w; Fri, 24 Apr 2026 04:05:32 -0400",
            "from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by SEZPR06MB5856.apcprd06.prod.outlook.com (2603:1096:101:9e::8) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.18; Fri, 24 Apr\n 2026 08:05:20 +0000",
            "from TYPPR06MB8206.apcprd06.prod.outlook.com\n ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com\n ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9846.021; Fri, 24 Apr 2026\n 08:05:20 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=YJTYBUosmU+kvwyC3g6uExVIEy4mST7TCovrC0/MGy2HFyY7swwONxmqGVaLCOoGHRUNHwxMD/G95yhUCvuO3FWyQbPTZOfNPGYcyyomzcqDIuo5Nc17+uYHky4fxNFFjkYxNLZnctVtWzLVagVT5vVshKIUiUCYAtT3jeZox2nNZLtFN5o9uA0/gr97rVbUVrwal2m14gQgWxXr+wANwMt190D5WJPSkmkUOTak6nrHjH027Yn72wgOzk9TecAkusWaI0XyEl77mffDLm+/djajz9gzAJGY4Q05XOAKkDBGbSC9trMpt/VzapRYJGS4m4qdvnKT1ZeX+O+DFsBuLw==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=0t876nfq1PurFy1REImxgXmZt9Yx/BFkWkH/U1x38zE=;\n b=eBSxyBYt615sKUKRAMSZ2BeV43BS0tq4STcJSgo0y7Wdgs3DPg1Gpe9VB0iGYG4/ghhTPcOGa7lPcpw3OlRMII74ScaMf8tkewGuU/WT1m8y7jFfCQsM3sF/eHcJCvUt+2pKd6cJxIf0G+2xKyC986p+1W5touusLuhAoreDVR63+LXkc7SshY1W3h2OqNZCIdpLNXgYTkxi9rxgTZHrIjYZtxaL1V/F1PW9H9p9UPbeejSs1/2+iaWloBfx5cz1st3J2BpphQ1IZDDLHHDvc5iOi9BGDbW43HPX74wgl4sRBOxbEUPI4mcYP4Dv6K0G3Ic6RP85fq6V2r1nDq0S6w==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=aspeedtech.com; dmarc=pass action=none\n header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=0t876nfq1PurFy1REImxgXmZt9Yx/BFkWkH/U1x38zE=;\n b=VoKhM+Q4tIUOwVva5a4qXVefqgwNkK5n7WUUp4qr/m/9WQ2qoztNhnrAP5xPlns2sEbYlPKron7JO0varJZKpUJNYSOzdmucxgxlufJjIqWQsv5jegsMB+Z2V+kwvKMQ0FivtI0otM564tMojTegMU3FAQGfv4bBGLOwgEYy/2QBw0rJr+B1sMHyL5JggF4oEjg1PBkCXzvtzxXWUuYetgqhWLJdItcfEJOIl6h+WnZyQeZBxMVr7TCv0h9CBUk8od4ub9vJWfzaOMENs3YHcwG+7QBPlHuRRNxn+ioBpzHf4eDGgjaNwk5hjs+bIRdZPtuRLl+fyd5vjSCjJqyLxw==",
        "From": "Jamin Lin <jamin_lin@aspeedtech.com>",
        "To": "\"peterx@redhat.com\" <peterx@redhat.com>,\n \"philmd@linaro.org\" <philmd@linaro.org>,\n =?iso-8859-1?q?C=E9dric_Le_Goater?= <clg@kaod.org>,\n Peter Maydell <peter.maydell@linaro.org>,\n Steven Lee <steven_lee@aspeedtech.com>, Troy Lee <leetroy@gmail.com>,\n Kane Chen <kane_chen@aspeedtech.com>,\n Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>,\n Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,\n  Yanan Wang <wangyanan55@huawei.com>, Zhao Liu <zhao1.liu@intel.com>,\n Paolo Bonzini <pbonzini@redhat.com>,\n Richard Henderson <richard.henderson@linaro.org>,\n \"Michael S. Tsirkin\" <mst@redhat.com>, Laurent Vivier <laurent@vivier.eu>,\n Nicholas Piggin <npiggin@gmail.com>,\n Harsh Prateek Bora <harshpb@linux.ibm.com>,\n Halil Pasic <pasic@linux.ibm.com>,\n Christian Borntraeger <borntraeger@linux.ibm.com>,\n Eric Farman <farman@linux.ibm.com>, Matthew Rosato <mjrosato@linux.ibm.com>,\n Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>,\n Cornelia Huck <cohuck@redhat.com>,\n \"open list:ASPEED BMCs\" <qemu-arm@nongnu.org>,\n \"open list:All patches CC here\" <qemu-devel@nongnu.org>,\n \"open list:sPAPR pseries\" <qemu-ppc@nongnu.org>,\n \"open list:S390 Virtio-ccw\" <qemu-s390x@nongnu.org>",
        "CC": "Jamin Lin <jamin_lin@aspeedtech.com>, Troy Lee <troy_lee@aspeedtech.com>,\n \"farosas@suse.de\" <farosas@suse.de>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>",
        "Subject": "[PATCH v5 08/18] hw/core: Add 11.0 machine compatibility properties",
        "Thread-Topic": "[PATCH v5 08/18] hw/core: Add 11.0 machine compatibility\n properties",
        "Thread-Index": "AQHc08EYz77OLqMUiE6xORGmT3HWyA==",
        "Date": "Fri, 24 Apr 2026 08:05:20 +0000",
        "Message-ID": "<20260424080508.53992-9-jamin_lin@aspeedtech.com>",
        "References": "<20260424080508.53992-1-jamin_lin@aspeedtech.com>",
        "In-Reply-To": "<20260424080508.53992-1-jamin_lin@aspeedtech.com>",
        "Accept-Language": "zh-TW, en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "authentication-results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=aspeedtech.com header.i=@aspeedtech.com\n header.a=rsa-sha256 header.s=selector1 header.b=VoKhM+Q4;\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=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=aspeedtech.com;"
        ],
        "x-ms-publictraffictype": "Email",
        "x-ms-traffictypediagnostic": "TYPPR06MB8206:EE_|SEZPR06MB5856:EE_",
        "x-ms-office365-filtering-correlation-id": "f08ba83c-cb7a-475f-f34b-08dea1d83aac",
        "x-ms-exchange-senderadcheck": "1",
        "x-ms-exchange-antispam-relay": "0",
        "x-microsoft-antispam": "BCL:0;\n ARA:13230040|1800799024|366016|7416014|376014|38070700021|921020|18002099003|22082099003|56012099003;",
        "x-microsoft-antispam-message-info": "\n Iekyu2f5xx/mEfTM+/oitNfAJY3QXq1IXbbZFJGVxk7EehScF79Pt1G1pods+qp5r2fNxnBfEArkDtdsj9Q46HjBAUAFp7KH7zKY68gmC+gY3E7zEvaQh91a1dQpFKCXu7ESE0JXVW0O2gyADtuf2wNEF2KbRfOfySChbkFVrS3PcrJ34+1Z5KkeZEcRElo72F+efLuZ0Fy9uadz9DOHHYImtxyx141kKhikH2vpMs4l32x7F1GqFmkRtMu3CnFEU2HNXu7NgSts19pZh8p8xqfgIZyYfbeX8reKGRLdT2Ibq5xLUdMs73twgMIsgAEPpzd+gHt8WlyUgpHvulYnKHNhoHxAutixIUHBp3siWmE4tKFFITrnNQWF1jRaaX1FYqB3551Q2QL3oyzycBPkYYM2EurY91H76Q+Y35LYv5qYD3Uj5Qksg90p3DyNpcgjVGthRAjOj0QMnGUQ8EdRP6S+fCr9Th758abQaC2v2JvDkIwAYGnZ/JnthajaRIGxBz0k61aM8YMMDXXlR8XU81+3p/+TtpZ28x2tX/PI9pkBoiIlr9KrhgcC5aVgt++Op66P365+GM0wScsbE5dxcB+HquuGHwcKgAgSdX4H9iKl8BzOauP9Z9IC2CcMw8P1v8fYa4Oee4EYIXvYbi7zWto/+oTahorp9YfyLn7SYs+pclrc4aAbdY6GFN348BTwfCyLpX+1DAiX6zxBw+T3pkIdIxwvuW6vG759mrAeLFqU/8VF7ZOs6dnCZjr1fuvIecuEBmBXKnpIel2R7LxmNjRhZ7gSUOAqmeeQshwjzf+0gTA9eFBKTACMl1hmcpZH",
        "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(1800799024)(366016)(7416014)(376014)(38070700021)(921020)(18002099003)(22082099003)(56012099003);\n DIR:OUT; SFP:1102;",
        "x-ms-exchange-antispam-messagedata-chunkcount": "1",
        "x-ms-exchange-antispam-messagedata-0": "=?iso-8859-1?q?O/loUQE22SkhmZp7A/6rDQe?=\n\t=?iso-8859-1?q?53lEdv0bdUMCSv74YiQPf9z4iRqPS3+24EAiLouicfmzpIwhDxOKUKWkyBMi?=\n\t=?iso-8859-1?q?yMO7Sz9gYYSWsLV81MR46Vx28eOMmTeNC11ABzhwsaoCpRepgacB7jaChJVp?=\n\t=?iso-8859-1?q?NkyK9uCiqGrHPBxb67WqmiyEVm0f90M76xRVFtZS8vzlK1Pg12XCQCxgIlHG?=\n\t=?iso-8859-1?q?oPO1+T6jnNkdsGuxNelpqTEq/g107hr/upUTdXq27L775/6zc4kn5b9dbz/o?=\n\t=?iso-8859-1?q?P5480Lec6aN848/yBdCQ7Mpaq0yxLmERkIap7PCAmIKp/yA5+dV+VEgCta41?=\n\t=?iso-8859-1?q?mDwfWfmfDxem5ODtqEg6YhPDr6u0vg4uV7PUArm8V/iTqddfktEhS7gcnqLE?=\n\t=?iso-8859-1?q?pbje9e7p5Eg52ckXRfS7tTuG5jcq/AKlvwb/PV6yduFs2uiceT6QFom1xakf?=\n\t=?iso-8859-1?q?VLkAE+L/fLqasH4sgiL7DcpON/P0RKbQOwogdijkwpWTrQl1RVZGRQiQ04SO?=\n\t=?iso-8859-1?q?IW39nc9Bm+r9769tuYZr4+nbX+wqg4131hvoP3kecudkASdFWBdXBqCdSnzA?=\n\t=?iso-8859-1?q?p6EAj8BMvkyA2eX3DqWS6JfSHXX1YvIf3nGNDqtB/dELxwWhfI8M9acfPEQp?=\n\t=?iso-8859-1?q?4FDKcKjX+jfN3JrQW4qx3xnwG2J36g70UAwxiDJkDd5SRh6f3sbv6xLQt7Ly?=\n\t=?iso-8859-1?q?r5GwBTlsY9epDNhBnWRaw4L9n3LNVN4ZlORozMuqwLvu444onTcYNBxu/g13?=\n\t=?iso-8859-1?q?0pUEUvAzU7dcnEhbrgKVpGGI3ph6c46BPpRStr04fB73nRx2oPt3nEmtpkxd?=\n\t=?iso-8859-1?q?4ojYVWRMQB2Sb+V2WKeOqOV4lH4rSgKBaQkWhzVJSlg39pi4cINs29CCfZOJ?=\n\t=?iso-8859-1?q?ROk+knrBj4eDfsMmZasuBIxWDMlYk2Od/1O8cIhrO7NdhGu4k2OHocLYuH46?=\n\t=?iso-8859-1?q?UK3/5Glm8pB5yO5PAGWSD69/E4ZuglT1iz7ivLaeqRqOPudeDP90fktbyb6w?=\n\t=?iso-8859-1?q?yb/A+5wLBBrdLNNf3S0NpLxitHnXXCQ6m0TOv8ZmOcpkKQ0pwWELdXIROYMg?=\n\t=?iso-8859-1?q?wfVanTSk1L2QsztzJU2KeBOey51iBjK9lksmGkYOf7b0VSjt2CnW8+bR5S7/?=\n\t=?iso-8859-1?q?L9IfuItuy4vJVO4vXm7xlTeJ5Z9WvJPd2Jj5Rj7VcTlrPIAmYv2EkFGE2N15?=\n\t=?iso-8859-1?q?f+9S7fNfH/+pI+YjbYylORrqSlnJR393Vm5TAQ9pUqq2WdW4Maxfz90Z/Ova?=\n\t=?iso-8859-1?q?Wf8v8R7exSkqWGav4Fy2Hqba4W+6ITVmGELlzm9v2aUXXjwANf/wSmDONVSy?=\n\t=?iso-8859-1?q?L+TdgNWy3Ok2L/eezZtA7yDntZaiLXpm7N3pI+sM09zHTv3lcYiAbEmFU1vd?=\n\t=?iso-8859-1?q?6YRfguPDdCElE0Bh0ROBeqo1wQrINhBhtW25vLgVY4FrlNtr9wLMy4PQ2DU9?=\n\t=?iso-8859-1?q?Q+mIpIlT4eDmvzuQTFSAoNX4jB8QV4fqQD7xzOow0ThxHhYwoCv/QRVpcqzU?=\n\t=?iso-8859-1?q?7WnnUCc4n2IZrqpDvC1Id1P+O6rUzjIA+qeCu/5V/Mdog7x0Kyg750vcO/CA?=\n\t=?iso-8859-1?q?DvyCPL0w771woVsMAzigujfIc7/7aR/RgMJErhD8TqmSA253DB1T4jjFLw3L?=\n\t=?iso-8859-1?q?nMNhsMgAwRPCptlhryRMhqQSOsrClyba+LQXH+lQ3Z+tFdwRyn5Klnmp7fS3?=\n\t=?iso-8859-1?q?CxhlX99yj+iqmUQt7DG3Wz9BUok3RmBpEA7TV3fusunHRKjIt88T/rLQwEqi?=\n\t=?iso-8859-1?q?VPCVxPr5IJXt+6Z/o1iiRl6UmS0/KVQXBXoBJd6z948nB6A=3D=3D?=",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-Exchange-RoutingPolicyChecked": "\n FirCX0mxlDbP5hhcCqn+Lvwfr1tOvQRonqRpnm2DtywHxVjDL9VA0mg936ZvpPhj06wlapXYAJiEKSxFWNcQ3IRKAyPwZjaraLC4470q+mXbi04a5HIR4mcHujxUlQriQ3XGL5C0csd4X6GQzB1OTxNsQCvQ9y17o8hQxKWDpEBwfi5fwA9E6zgGIaV1ZMF7m3GTq3LNCGaRbZjjU/I1I1GHZG/3NxRhA7qmqkFVGPpqV7U2DFYj1B2WC8hX303CfnoAMVu5q5S+II0BsrKnVYYG0fCa6fS271QGB/fzUBZUTGnXMmSiXOe7fQeFQ3NqRO/T292X5H69lPXDUB6afQ==",
        "X-OriginatorOrg": "aspeedtech.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-AuthSource": "TYPPR06MB8206.apcprd06.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n f08ba83c-cb7a-475f-f34b-08dea1d83aac",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "24 Apr 2026 08:05:20.2459 (UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "43d4aa98-e35b-4575-8939-080e90d5a249",
        "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED",
        "X-MS-Exchange-CrossTenant-userprincipalname": "\n pExG1yh/x0i/ZbbJae58LRiwsCPivtpW9MeRJzb4zPoN4alX5aOqR2GmgtsrbouKhrs6GKe+B0IVImwj/7CPBzJhW4kWb7D9UD1vFq2EKeM=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SEZPR06MB5856",
        "Received-SPF": "pass client-ip=2a01:111:f403:c405::7;\n envelope-from=jamin_lin@aspeedtech.com;\n helo=TYDPR03CU002.outbound.protection.outlook.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, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001,\n 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": "Introduce hw_compat_11_0 and pc_compat_11_0 compatibility property arrays,\nand wire them into the 11.0 machine types.\n\nUpdate all machine types so that version 11.0 inherits from 11.1 and applies\nthe 11.0 compatibility properties. This follows the standard pattern where\nolder machine types retain legacy behavior through compat properties, while\nnewer machine types provide updated defaults.\n\nThis change allows devices to maintain migration and behavior compatibility\nfor the 11.0 machine type, while enabling new behavior to be introduced in\nlater machine versions.\n\nSigned-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n---\n include/hw/core/boards.h   |  3 +++\n include/hw/i386/pc.h       |  3 +++\n hw/arm/virt.c              |  8 ++++++++\n hw/core/machine.c          |  3 +++\n hw/i386/pc.c               |  3 +++\n hw/i386/pc_piix.c          | 11 ++++++++++-\n hw/i386/pc_q35.c           | 11 ++++++++++-\n hw/m68k/virt.c             |  7 +++++++\n hw/ppc/spapr.c             | 13 ++++++++++++-\n hw/s390x/s390-virtio-ccw.c | 11 +++++++++++\n 10 files changed, 70 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/include/hw/core/boards.h b/include/hw/core/boards.h\nindex b8dad0a107..db83fe9292 100644\n--- a/include/hw/core/boards.h\n+++ b/include/hw/core/boards.h\n@@ -798,6 +798,9 @@ struct MachineState {\n         } \\\n     } while (0)\n \n+extern GlobalProperty hw_compat_11_0[];\n+extern const size_t hw_compat_11_0_len;\n+\n extern GlobalProperty hw_compat_10_2[];\n extern const size_t hw_compat_10_2_len;\n \ndiff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h\nindex 22325324d0..85a74363b5 100644\n--- a/include/hw/i386/pc.h\n+++ b/include/hw/i386/pc.h\n@@ -208,6 +208,9 @@ void pc_system_parse_ovmf_flash(uint8_t *flash_ptr, size_t flash_size);\n /* sgx.c */\n void pc_machine_init_sgx_epc(PCMachineState *pcms);\n \n+extern GlobalProperty pc_compat_11_0[];\n+extern const size_t pc_compat_11_0_len;\n+\n extern GlobalProperty pc_compat_10_2[];\n extern const size_t pc_compat_10_2_len;\n \ndiff --git a/hw/arm/virt.c b/hw/arm/virt.c\nindex ec0d8475ca..4855105f18 100644\n--- a/hw/arm/virt.c\n+++ b/hw/arm/virt.c\n@@ -3719,8 +3719,16 @@ static void machvirt_machine_init(void)\n }\n type_init(machvirt_machine_init);\n \n+static void virt_machine_11_1_options(MachineClass *mc)\n+{\n+\n+}\n+DEFINE_VIRT_MACHINE_AS_LATEST(11, 1)\n+\n static void virt_machine_11_0_options(MachineClass *mc)\n {\n+     virt_machine_11_1_options(mc);\n+     compat_props_add(mc->compat_props, hw_compat_11_0, hw_compat_11_0_len);\n }\n DEFINE_VIRT_MACHINE_AS_LATEST(11, 0)\n \ndiff --git a/hw/core/machine.c b/hw/core/machine.c\nindex 0aa77a57e9..1abc8ae737 100644\n--- a/hw/core/machine.c\n+++ b/hw/core/machine.c\n@@ -38,6 +38,9 @@\n #include \"hw/acpi/generic_event_device.h\"\n #include \"qemu/audio.h\"\n \n+GlobalProperty hw_compat_11_0[] = {};\n+const size_t hw_compat_11_0_len = G_N_ELEMENTS(hw_compat_11_0);\n+\n GlobalProperty hw_compat_10_2[] = {\n     { \"scsi-block\", \"migrate-pr\", \"off\" },\n     { \"isa-cirrus-vga\", \"global-vmstate\", \"true\" },\ndiff --git a/hw/i386/pc.c b/hw/i386/pc.c\nindex 4b53b5be4a..2ecad3c503 100644\n--- a/hw/i386/pc.c\n+++ b/hw/i386/pc.c\n@@ -73,6 +73,9 @@\n #include \"hw/xen/xen-bus.h\"\n #endif\n \n+GlobalProperty pc_compat_11_0[] = {};\n+const size_t pc_compat_11_0_len = G_N_ELEMENTS(pc_compat_11_0);\n+\n GlobalProperty pc_compat_10_2[] = {};\n const size_t pc_compat_10_2_len = G_N_ELEMENTS(pc_compat_10_2);\n \ndiff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c\nindex 4d71e0d51a..19e9641246 100644\n--- a/hw/i386/pc_piix.c\n+++ b/hw/i386/pc_piix.c\n@@ -428,11 +428,20 @@ static void pc_i440fx_machine_options(MachineClass *m)\n                      pc_piix_compat_defaults, pc_piix_compat_defaults_len);\n }\n \n-static void pc_i440fx_machine_11_0_options(MachineClass *m)\n+static void pc_i440fx_machine_11_1_options(MachineClass *m)\n {\n     pc_i440fx_machine_options(m);\n }\n \n+DEFINE_I440FX_MACHINE_AS_LATEST(11, 1);\n+\n+static void pc_i440fx_machine_11_0_options(MachineClass *m)\n+{\n+    pc_i440fx_machine_11_1_options(m);\n+    compat_props_add(m->compat_props, hw_compat_11_0, hw_compat_11_0_len);\n+    compat_props_add(m->compat_props, pc_compat_11_0, pc_compat_11_0_len);\n+}\n+\n DEFINE_I440FX_MACHINE_AS_LATEST(11, 0);\n \n static void pc_i440fx_machine_10_2_options(MachineClass *m)\ndiff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c\nindex cb23322f5a..72dd3324df 100644\n--- a/hw/i386/pc_q35.c\n+++ b/hw/i386/pc_q35.c\n@@ -364,11 +364,20 @@ static void pc_q35_machine_options(MachineClass *m)\n                      pc_q35_compat_defaults, pc_q35_compat_defaults_len);\n }\n \n-static void pc_q35_machine_11_0_options(MachineClass *m)\n+static void pc_q35_machine_11_1_options(MachineClass *m)\n {\n     pc_q35_machine_options(m);\n }\n \n+DEFINE_Q35_MACHINE_AS_LATEST(11, 1);\n+\n+static void pc_q35_machine_11_0_options(MachineClass *m)\n+{\n+    pc_q35_machine_11_1_options(m);\n+    compat_props_add(m->compat_props, hw_compat_11_0, hw_compat_11_0_len);\n+    compat_props_add(m->compat_props, pc_compat_11_0, pc_compat_11_0_len);\n+}\n+\n DEFINE_Q35_MACHINE_AS_LATEST(11, 0);\n \n static void pc_q35_machine_10_2_options(MachineClass *m)\ndiff --git a/hw/m68k/virt.c b/hw/m68k/virt.c\nindex ffe6e23415..b056ef603c 100644\n--- a/hw/m68k/virt.c\n+++ b/hw/m68k/virt.c\n@@ -367,8 +367,15 @@ type_init(virt_machine_register_types)\n #define DEFINE_VIRT_MACHINE(major, minor) \\\n     DEFINE_VIRT_MACHINE_IMPL(false, major, minor)\n \n+static void virt_machine_11_1_options(MachineClass *mc)\n+{\n+}\n+DEFINE_VIRT_MACHINE_AS_LATEST(11, 1)\n+\n static void virt_machine_11_0_options(MachineClass *mc)\n {\n+    virt_machine_11_1_options(mc);\n+    compat_props_add(mc->compat_props, hw_compat_11_0, hw_compat_11_0_len);\n }\n DEFINE_VIRT_MACHINE_AS_LATEST(11, 0)\n \ndiff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c\nindex 0ab39dfea6..5876f97979 100644\n--- a/hw/ppc/spapr.c\n+++ b/hw/ppc/spapr.c\n@@ -4760,12 +4760,23 @@ static void spapr_machine_latest_class_options(MachineClass *mc)\n #define DEFINE_SPAPR_MACHINE(major, minor) \\\n     DEFINE_SPAPR_MACHINE_IMPL(false, major, minor)\n \n+/*\n+ * pseries-11.1\n+ */\n+static void spapr_machine_11_1_class_options(MachineClass *mc)\n+{\n+    /* Defaults for the latest behaviour inherited from the base class */\n+}\n+\n+DEFINE_SPAPR_MACHINE_AS_LATEST(11, 1);\n+\n /*\n  * pseries-11.0\n  */\n static void spapr_machine_11_0_class_options(MachineClass *mc)\n {\n-    /* Defaults for the latest behaviour inherited from the base class */\n+    spapr_machine_11_1_class_options(mc);\n+    compat_props_add(mc->compat_props, hw_compat_11_0, hw_compat_11_0_len);\n }\n \n DEFINE_SPAPR_MACHINE_AS_LATEST(11, 0);\ndiff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c\nindex 3ef009463d..f5b6051a67 100644\n--- a/hw/s390x/s390-virtio-ccw.c\n+++ b/hw/s390x/s390-virtio-ccw.c\n@@ -906,13 +906,24 @@ static const TypeInfo ccw_machine_info = {\n #define DEFINE_CCW_MACHINE(major, minor) \\\n     DEFINE_CCW_MACHINE_IMPL(false, major, minor)\n \n+static void ccw_machine_11_1_instance_options(MachineState *machine)\n+{\n+}\n+\n+static void ccw_machine_11_1_class_options(MachineClass *mc)\n+{\n+}\n+DEFINE_CCW_MACHINE_AS_LATEST(11, 1);\n \n static void ccw_machine_11_0_instance_options(MachineState *machine)\n {\n+    ccw_machine_11_1_instance_options(machine);\n }\n \n static void ccw_machine_11_0_class_options(MachineClass *mc)\n {\n+    ccw_machine_11_1_class_options(mc);\n+    compat_props_add(mc->compat_props, hw_compat_11_0, hw_compat_11_0_len);\n }\n DEFINE_CCW_MACHINE_AS_LATEST(11, 0);\n \n",
    "prefixes": [
        "v5",
        "08/18"
    ]
}