get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1197484,
    "url": "http://patchwork.ozlabs.org/api/patches/1197484/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20191119141211.25716-12-clg@kaod.org/",
    "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": "<20191119141211.25716-12-clg@kaod.org>",
    "list_archive_url": null,
    "date": "2019-11-19T14:12:05",
    "name": "[11/17] aspeed/smc: Do not map disabled segment on the AST2600",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "5d344540f9d481b6b4608fe91682cb7fffa40cd1",
    "submitter": {
        "id": 68548,
        "url": "http://patchwork.ozlabs.org/api/people/68548/?format=api",
        "name": "Cédric Le Goater",
        "email": "clg@kaod.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20191119141211.25716-12-clg@kaod.org/mbox/",
    "series": [
        {
            "id": 143789,
            "url": "http://patchwork.ozlabs.org/api/series/143789/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=143789",
            "date": "2019-11-19T14:11:54",
            "name": "aspeed: extensions and fixes",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/143789/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1197484/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1197484/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@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org; spf=pass (sender SPF authorized)\n\tsmtp.mailfrom=nongnu.org (client-ip=209.51.188.17;\n\thelo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdmarc=none (p=none dis=none) header.from=kaod.org"
        ],
        "Received": [
            "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 47HSpv2Zp1z9sPf\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 20 Nov 2019 01:28:06 +1100 (AEDT)",
            "from localhost ([::1]:46084 helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1iX4U8-0005Yz-HK\n\tfor incoming@patchwork.ozlabs.org; Tue, 19 Nov 2019 09:28:04 -0500",
            "from eggs.gnu.org ([2001:470:142:3::10]:42133)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <clg@kaod.org>) id 1iX4GR-00079L-5I\n\tfor qemu-devel@nongnu.org; Tue, 19 Nov 2019 09:13:56 -0500",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <clg@kaod.org>) id 1iX4GP-0005eK-VJ\n\tfor qemu-devel@nongnu.org; Tue, 19 Nov 2019 09:13:55 -0500",
            "from 1.mo68.mail-out.ovh.net ([46.105.41.146]:40437)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <clg@kaod.org>) id 1iX4GP-0005dm-Ph\n\tfor qemu-devel@nongnu.org; Tue, 19 Nov 2019 09:13:53 -0500",
            "from player795.ha.ovh.net (unknown [10.109.146.143])\n\tby mo68.mail-out.ovh.net (Postfix) with ESMTP id 1BDD314CEF6\n\tfor <qemu-devel@nongnu.org>; Tue, 19 Nov 2019 15:13:52 +0100 (CET)",
            "from kaod.org (deibp9eh1--blueice1n4.emea.ibm.com [195.212.29.166])\n\t(Authenticated sender: clg@kaod.org)\n\tby player795.ha.ovh.net (Postfix) with ESMTPSA id 55397C18AD62;\n\tTue, 19 Nov 2019 14:13:44 +0000 (UTC)"
        ],
        "From": "=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>",
        "To": "Peter Maydell <peter.maydell@linaro.org>",
        "Subject": "[PATCH 11/17] aspeed/smc: Do not map disabled segment on the AST2600",
        "Date": "Tue, 19 Nov 2019 15:12:05 +0100",
        "Message-Id": "<20191119141211.25716-12-clg@kaod.org>",
        "X-Mailer": "git-send-email 2.21.0",
        "In-Reply-To": "<20191119141211.25716-1-clg@kaod.org>",
        "References": "<20191119141211.25716-1-clg@kaod.org>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "X-Ovh-Tracer-Id": "17915319318968896273",
        "X-VR-SPAMSTATE": "OK",
        "X-VR-SPAMSCORE": "-100",
        "X-VR-SPAMCAUSE": "gggruggvucftvghtrhhoucdtuddrgedufedrudegkedgiedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdqfffguegfifdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepveorughrihgtucfnvgcuifhorghtvghruceotghlgheskhgrohgurdhorhhgqeenucfkpheptddrtddrtddrtddpudelhedrvdduvddrvdelrdduieeinecurfgrrhgrmhepmhhouggvpehsmhhtphdqohhuthdphhgvlhhopehplhgrhigvrhejleehrdhhrgdrohhvhhdrnhgvthdpihhnvghtpedtrddtrddtrddtpdhmrghilhhfrhhomheptghlgheskhgrohgurdhorhhgpdhrtghpthhtohepqhgvmhhuqdguvghvvghlsehnohhnghhnuhdrohhrghenucevlhhushhtvghrufhiiigvpeej",
        "Content-Transfer-Encoding": "quoted-printable",
        "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]",
        "X-Received-From": "46.105.41.146",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.23",
        "Precedence": "list",
        "List-Id": "<qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<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\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Cc": "Andrew Jeffery <andrew@aj.id.au>, =?utf-8?q?C=C3=A9dric_Le_Goater?=\n\t<clg@kaod.org>, qemu-arm@nongnu.org, Joel Stanley <joel@jms.id.au>,\n\tqemu-devel@nongnu.org",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"
    },
    "content": "The segments can be disabled on the AST2600 (zero register value).\nCS0 is open by default but not the other CS. This is closing the\naccess to the flash device in user mode and forbids scanning.\n\nIn the model, check the segment size and disable the associated region\nwhen the value is zero.\n\nFixes: bcaa8ddd081c (\"aspeed/smc: Add AST2600 support\")\nSigned-off-by: Cédric Le Goater <clg@kaod.org>\nReviewed-by: Joel Stanley <joel@jms.id.au>\nSigned-off-by: Cédric Le Goater <clg@kaod.org>\n---\n hw/ssi/aspeed_smc.c | 16 +++++++++++-----\n 1 file changed, 11 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c\nindex 955ec21852ac..86cadbe4cc00 100644\n--- a/hw/ssi/aspeed_smc.c\n+++ b/hw/ssi/aspeed_smc.c\n@@ -444,8 +444,13 @@ static void aspeed_2600_smc_reg_to_segment(const AspeedSMCState *s,\n     uint32_t start_offset = (reg << 16) & AST2600_SEG_ADDR_MASK;\n     uint32_t end_offset = reg & AST2600_SEG_ADDR_MASK;\n \n-    seg->addr = s->ctrl->flash_window_base + start_offset;\n-    seg->size = end_offset + MiB - start_offset;\n+    if (reg) {\n+        seg->addr = s->ctrl->flash_window_base + start_offset;\n+        seg->size = end_offset + MiB - start_offset;\n+    } else {\n+        seg->addr = s->ctrl->flash_window_base;\n+        seg->size = 0;\n+    }\n }\n \n static bool aspeed_smc_flash_overlap(const AspeedSMCState *s,\n@@ -486,7 +491,7 @@ static void aspeed_smc_flash_set_segment_region(AspeedSMCState *s, int cs,\n     memory_region_transaction_begin();\n     memory_region_set_size(&fl->mmio, seg.size);\n     memory_region_set_address(&fl->mmio, seg.addr - s->ctrl->flash_window_base);\n-    memory_region_set_enabled(&fl->mmio, true);\n+    memory_region_set_enabled(&fl->mmio, !!seg.size);\n     memory_region_transaction_commit();\n \n     s->regs[R_SEG_ADDR0 + cs] = regval;\n@@ -526,8 +531,9 @@ static void aspeed_smc_flash_set_segment(AspeedSMCState *s, int cs,\n     }\n \n     /* Keep the segment in the overall flash window */\n-    if (seg.addr + seg.size <= s->ctrl->flash_window_base ||\n-        seg.addr > s->ctrl->flash_window_base + s->ctrl->flash_window_size) {\n+    if (seg.size &&\n+        (seg.addr + seg.size <= s->ctrl->flash_window_base ||\n+         seg.addr > s->ctrl->flash_window_base + s->ctrl->flash_window_size)) {\n         qemu_log_mask(LOG_GUEST_ERROR, \"%s: new segment for CS%d is invalid : \"\n                       \"[ 0x%\"HWADDR_PRIx\" - 0x%\"HWADDR_PRIx\" ]\\n\",\n                       s->ctrl->name, cs, seg.addr, seg.addr + seg.size);\n",
    "prefixes": [
        "11/17"
    ]
}