get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2233220,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2233220/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260505202640.1011006-22-peterx@redhat.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": "<20260505202640.1011006-22-peterx@redhat.com>",
    "date": "2026-05-05T20:26:38",
    "name": "[PULL,21/23] hw/xtensa/mx_pic: Specify xtensa_mx_pic_ops .impl settings",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "264f099d5ae2ad6a88868060e16d876049bba6aa",
    "submitter": {
        "id": 67717,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/67717/?format=api",
        "name": "Peter Xu",
        "email": "peterx@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260505202640.1011006-22-peterx@redhat.com/mbox/",
    "series": [
        {
            "id": 502897,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502897/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502897",
            "date": "2026-05-05T20:26:17",
            "name": "[PULL,01/23] migration: Fix blocking in POSTCOPY_DEVICE during package load",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502897/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2233220/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2233220/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 (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=Rn+lBjVF;\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=PFUhKFcO;\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)"
        ],
        "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 4g99982Wtjz1yJV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 06:29:32 +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 1wKMMP-0004di-EZ; Tue, 05 May 2026 16:27:17 -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 <peterx@redhat.com>) id 1wKMML-0004ZQ-MB\n for qemu-devel@nongnu.org; Tue, 05 May 2026 16:27:13 -0400",
            "from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peterx@redhat.com>) id 1wKMMJ-0002fZ-I7\n for qemu-devel@nongnu.org; Tue, 05 May 2026 16:27:13 -0400",
            "from mail-qv1-f69.google.com (mail-qv1-f69.google.com\n [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-675-pYTfOn0vPBS15ph958ChYA-1; Tue, 05 May 2026 16:27:09 -0400",
            "by mail-qv1-f69.google.com with SMTP id\n 6a1803df08f44-8b459fa5f76so77892786d6.1\n for <qemu-devel@nongnu.org>; Tue, 05 May 2026 13:27:09 -0700 (PDT)",
            "from x1.com ([142.189.10.167]) by smtp.gmail.com with ESMTPSA id\n 6a1803df08f44-8b53c6b8123sm155283806d6.35.2026.05.05.13.27.07\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 13:27:07 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1778012830;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=J6hDMSlX8QSa9powGt5inke+kVsGYViV0WMedvJhWK4=;\n b=Rn+lBjVF/Gr8El9kFMc401e8T+dxIxIlP941MVAZy38f2zP9dCSVNZJv2EIFRr0dO6+4H/\n k6MXk9vJ4FCzBQUncMPv1Va3QupbncLTsJonne2uTQ2knAICjRSszpw6ybk+u1+qzmFGvD\n p02PsNy28tuEPTMVSQBirbeEtekS/70=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1778012829; x=1778617629; 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=J6hDMSlX8QSa9powGt5inke+kVsGYViV0WMedvJhWK4=;\n b=PFUhKFcOHtAZ6QgRevYeTULJ7REDN+BtBVe2+yFkjxscxWE6hCwqH3lyJrVCa4UopC\n n/tzodjXhouMZnR/ohePc6zx5CCzURQDvYVjwvoZIQnaZ9xULdE0C91Tg65GhhZmWK68\n N72j/XE5zRZnz/JlpZtWa9jEYZKUKEtudUkHrik2RVVV29DZm87MQJfl7+9EY9swBp2K\n WGywnbjIi4e1nZb8m7CYXTl/uAiX6Z7Z4H+v6gFaJR9G2Y/+kGRHjBFHR1dKPjaBobdS\n vLGbX/w9T0CTIl6DR/izcmwoh6QzSN3e3x7c5Zp255G8RnhBoRNY1bHtzUIUBMcIezhZ\n kNzw=="
        ],
        "X-MC-Unique": "pYTfOn0vPBS15ph958ChYA-1",
        "X-Mimecast-MFC-AGG-ID": "pYTfOn0vPBS15ph958ChYA_1778012829",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778012829; x=1778617629;\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=J6hDMSlX8QSa9powGt5inke+kVsGYViV0WMedvJhWK4=;\n b=kKuwAyVrp0fdngfRyA6ynGtiXrejSzcvE8ZVEmuFJSmH/Tbx6TyaT6S2c0YIB8hvP8\n 0az82N8atXureYlqLte2I3/8slPjdUDQLaTyUhabRq+fVbY5hhH99dSKwG22zMqlm1dQ\n SgxzpKGwcCU6uo68xoJH1Hp/V81vrjs68O47AI4ac3yxQELksCWyj42hKzmq54fqnzp+\n xfEXnhKuoDDx1k1GqJKCJXM+V3zWyxyuRGo2YoaRQ2lls+VpGebla/0GKrRa0ocvMf2C\n tT1UxKvOTDDTbJdpF8aam5A792JiC4JzJSXwmCDMcY/GR8PtT7HG0l9xsUY43Al/ZJL6\n aRlQ==",
        "X-Gm-Message-State": "AOJu0Yzm3zJ6rb3xG7DxBXwG1gadTq5bmRNH2x1LXChFtL/opQmit/uZ\n sdIfvV26V/LspbcCb3bMVJEg9z38GW9YBTJS0ZWczh3YJJJM4+5+LDXZmfZShq172TiE9FxzYK+\n 4f0uTewTQkQSoCUpdv4fqJh+ZqRROd+wUjrq2u/7QtWVcCCP/AHo1PJH7H0g1rCtHlExMivWsSh\n p8LNZz5tYXJKPjtZ6MiVKS3122seryGMc6yBTVgQ==",
        "X-Gm-Gg": "AeBDiethUJoRYPdgMYOb42xzi9TbYFqohF/On4tpECoXxU4EwI9BrLCCYrojnBxaIXr\n VIFLU4MeIdTFxwqvNVqx9uOwPNpa4hglq53N6mEwTbv9vD6uujZAio6LM+aVT1TdrAWaLNNs/th\n XoxZMtx79PGcrQ38P2r5t1jLiQbzEDrQnVXseQpeTQxWAxdufB8c8ikEXQH83l7QFHr+qT8e/tM\n 0vDjf6mzlTzXciTjHialk+H5tNMEadhrSHUGW68LPocCCyX8mMguUSobWqSs/7kHk66YbRrUtI8\n X+MgVXC6gpqPW3yM0pQf+ZUYUoRQjsbb4Ta83zXJrxT01fOSOTAeJKmHSWsk/f5vNk2HE/+Ic36\n vcL83Tkbn/U6jCVS4o9El76koQsFMNNT8J3P18ifzi3nXV+oVADNjp9A=",
        "X-Received": [
            "by 2002:a05:6214:c4f:b0:8a1:8f74:3eab with SMTP id\n 6a1803df08f44-8bc4249d7a3mr5224056d6.9.1778012828747;\n Tue, 05 May 2026 13:27:08 -0700 (PDT)",
            "by 2002:a05:6214:c4f:b0:8a1:8f74:3eab with SMTP id\n 6a1803df08f44-8bc4249d7a3mr5223336d6.9.1778012827948;\n Tue, 05 May 2026 13:27:07 -0700 (PDT)"
        ],
        "From": "Peter Xu <peterx@redhat.com>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "Fabiano Rosas <farosas@suse.de>, Paolo Bonzini <pbonzini@redhat.com>,\n Peter Xu <peterx@redhat.com>, Peter Maydell <peter.maydell@linaro.org>,\n CJ Chen <cjchen@igel.co.jp>, Max Filippov <jcmvbkbc@gmail.com>",
        "Subject": "[PULL 21/23] hw/xtensa/mx_pic: Specify xtensa_mx_pic_ops .impl\n settings",
        "Date": "Tue,  5 May 2026 16:26:38 -0400",
        "Message-ID": "<20260505202640.1011006-22-peterx@redhat.com>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "<20260505202640.1011006-1-peterx@redhat.com>",
        "References": "<20260505202640.1011006-1-peterx@redhat.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Received-SPF": "pass client-ip=170.10.129.124; envelope-from=peterx@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com",
        "X-Spam_score_int": "-24",
        "X-Spam_score": "-2.5",
        "X-Spam_bar": "--",
        "X-Spam_report": "(-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.443,\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_H4=0.001, RCVD_IN_MSPIKE_WL=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": "From: Peter Maydell <peter.maydell@linaro.org>\n\nThe xtensa mx-pic interrupt controller has a rather odd register\nsetup, where some registers are 32 bits but are decoded at offsets\nonly one apart from each other.  The QEMU implementation handles this\ncorrectly, but it did not set .impl.unaligned = true.  This has\nworked up til now because QEMU has entirely ignored .impl.unaligned,\nand just allowed through unaligned accesses when\n.valid.unaligned is set.\n\nTo allow the possibility of properly implementing synthesis of\nunaligned accesses by the memory subsystem when they are valid but\nthe device doesn't implement them, and for clarity of intention,\nstate explicitly that this MR's read and write functions directly\nhandle unaligned accesses, by setting .impl.unaligned = true.\n\nWhile we are adjusting the MemoryRegionOps, we set also the minimum\nand maximum allowed access sizes.  Since the only way to get at this\ndevice is via the CPU's RER and WER instructions, which always\noperate at 32-bit sizes (see the HELPER(rer) and HELPER(wer)\nfunctions in target/xtensa/op_helper.c), we know we will always get\n32-bit accesses.  Specify explicitly that that is what is valid and\nimplemented for the MR.\n\nAdd a comment to clarify that the hardware behaviour here is not\n\"true memory-mapped registers\", so the odd-looking implementation is\ncorrect.\n\nBased-on-a-patch-by: CJ Chen <cjchen@igel.co.jp>\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>\nReviewed-by: Max Filippov <jcmvbkbc@gmail.com>\nLink: https://lore.kernel.org/r/20260428093339.2087081-4-peter.maydell@linaro.org\nSigned-off-by: Peter Xu <peterx@redhat.com>\n---\n hw/xtensa/mx_pic.c | 27 +++++++++++++++++++++++++++\n 1 file changed, 27 insertions(+)",
    "diff": "diff --git a/hw/xtensa/mx_pic.c b/hw/xtensa/mx_pic.c\nindex 07c3731aef..098c1aaf85 100644\n--- a/hw/xtensa/mx_pic.c\n+++ b/hw/xtensa/mx_pic.c\n@@ -69,6 +69,26 @@ struct XtensaMxPic {\n     } cpu[MX_MAX_CPU];\n };\n \n+/*\n+ * Note that decode for these registers is rather strange by the usual\n+ * MMIO standards -- the MIROUT and MIPICAUSE areas can be read and\n+ * written at 32-bit length, returning different values for each byte\n+ * offset, because the low bits of the address are treated as selecting\n+ * an IRQ or a processor:\n+ *\n+ * 00nn         0...0p..p       Interrupt Routing, route IRQ n to processor p\n+ * 01pp         0...0d..d       16 bits (d) 'ored' as single IPI to processor p\n+ *\n+ * This is because (like x86 IO port in/out accesses) the offset is\n+ * not a memory-mapped address but is really a register number,\n+ * accessed via the Xtensa RER/WER \"external register\" instructions.\n+ *\n+ * We set .valid and .impl to both allow unaligned = true to permit\n+ * these byte-offsets. Because this device is not a true memory mapped\n+ * device but is accessible only via the Xtensa RER/WER \"external\n+ * register\" interface, all accesses are guaranteed 32 bits.\n+ */\n+\n static uint64_t xtensa_mx_pic_ext_reg_read(void *opaque, hwaddr offset,\n                                            unsigned size)\n {\n@@ -267,7 +287,14 @@ static const MemoryRegionOps xtensa_mx_pic_ops = {\n     .read = xtensa_mx_pic_ext_reg_read,\n     .write = xtensa_mx_pic_ext_reg_write,\n     .endianness = DEVICE_NATIVE_ENDIAN,\n+    .impl = {\n+        .min_access_size = 4,\n+        .max_access_size = 4,\n+        .unaligned = true,\n+    },\n     .valid = {\n+        .min_access_size = 4,\n+        .max_access_size = 4,\n         .unaligned = true,\n     },\n };\n",
    "prefixes": [
        "PULL",
        "21/23"
    ]
}