get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 809002,
    "url": "http://patchwork.ozlabs.org/api/patches/809002/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/241130c59df31aebaf4f23b5f151b6b5c91f36fa.1504293917.git.alistair.francis@xilinx.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": "<241130c59df31aebaf4f23b5f151b6b5c91f36fa.1504293917.git.alistair.francis@xilinx.com>",
    "list_archive_url": null,
    "date": "2017-09-01T21:00:37",
    "name": "[v2,2/6] xlnx-zynqmp-pmu: Add the CPU and memory",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "28e09c53bc9649cd3ce54356b05ea59078fb2ed7",
    "submitter": {
        "id": 47878,
        "url": "http://patchwork.ozlabs.org/api/people/47878/?format=api",
        "name": "Alistair Francis",
        "email": "alistair.francis@xilinx.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/241130c59df31aebaf4f23b5f151b6b5c91f36fa.1504293917.git.alistair.francis@xilinx.com/mbox/",
    "series": [
        {
            "id": 1116,
            "url": "http://patchwork.ozlabs.org/api/series/1116/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=1116",
            "date": "2017-09-01T21:00:45",
            "name": "Add the ZynqMP PMU and IPI",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/1116/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/809002/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/809002/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;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=xilinx.onmicrosoft.com\n\theader.i=@xilinx.onmicrosoft.com header.b=\"mEma8X0Q\"; \n\tdkim-atps=neutral",
            "spf=pass (sender IP is 149.199.60.100)\n\tsmtp.mailfrom=xilinx.com; nongnu.org; dkim=none (message not signed)\n\theader.d=none;nongnu.org; dmarc=bestguesspass action=none\n\theader.from=xilinx.com;"
        ],
        "Received": [
            "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkWzC5rRJz9sNr\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Sep 2017 07:07:35 +1000 (AEST)",
            "from localhost ([::1]:60630 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dntA5-00030X-QU\n\tfor incoming@patchwork.ozlabs.org; Fri, 01 Sep 2017 17:07:33 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:52832)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dnt7E-0000Ss-3G\n\tfor qemu-devel@nongnu.org; Fri, 01 Sep 2017 17:04:37 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dnt79-0006oe-3u\n\tfor qemu-devel@nongnu.org; Fri, 01 Sep 2017 17:04:36 -0400",
            "from mail-dm3nam03on0066.outbound.protection.outlook.com\n\t([104.47.41.66]:35517\n\thelo=NAM03-DM3-obe.outbound.protection.outlook.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <alistai@xilinx.com>)\n\tid 1dnt6y-0006hY-OD; Fri, 01 Sep 2017 17:04:20 -0400",
            "from CY4PR02CA0001.namprd02.prod.outlook.com (10.169.188.11) by\n\tBLUPR02MB1121.namprd02.prod.outlook.com (10.163.79.147) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.13.10; Fri, 1 Sep 2017 21:04:18 +0000",
            "from CY1NAM02FT047.eop-nam02.prod.protection.outlook.com\n\t(2a01:111:f400:7e45::204) by CY4PR02CA0001.outlook.office365.com\n\t(2603:10b6:903:18::11) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10 via\n\tFrontend Transport; Fri, 1 Sep 2017 21:04:18 +0000",
            "from xsj-pvapsmtpgw02 (149.199.60.100) by\n\tCY1NAM02FT047.mail.protection.outlook.com (10.152.74.177) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11\n\tvia Frontend Transport; Fri, 1 Sep 2017 21:04:16 +0000",
            "from unknown-38-66.xilinx.com ([149.199.38.66]:38161\n\thelo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dnt6u-0002Q4-EB; Fri, 01 Sep 2017 14:04:16 -0700",
            "from [127.0.0.1] (helo=localhost)\n\tby xsj-pvapsmtp01 with smtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dnt6u-0007fC-9T; Fri, 01 Sep 2017 14:04:16 -0700",
            "from xsj-pvapsmtp01 (xsj-pvapsmtp01.xilinx.com [149.199.38.66])\n\tby xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id\n\tv81L4D6q021015; Fri, 1 Sep 2017 14:04:13 -0700",
            "from [172.19.2.220] (helo=localhost.localdomain)\n\tby xsj-pvapsmtp01 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dnt6r-0007ee-EC; Fri, 01 Sep 2017 14:04:13 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=xilinx.onmicrosoft.com; s=selector1-xilinx-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=r/oCzN7daSCrEzmA/ntMi3DWADu5eCpF6MxSxjE58bo=;\n\tb=mEma8X0Qj37czeeMdr4aBRyo+ZNwpkd1L3R1HD8n1jedTAfC5OopWR39lagh2+55hL8TdI0o99OQSNP98Jhaq/tB7oAL1YWBbnZPpiwwUMWHuZOMiWgHhQzIfZjKkInOp6/C74uQ5dKU154SYrVKNFd6frnJW1nPE99kVWCJ4Jc=",
        "Received-SPF": "Pass (protection.outlook.com: domain of xilinx.com designates\n\t149.199.60.100 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=149.199.60.100; helo=xsj-pvapsmtpgw02;",
        "From": "Alistair Francis <alistair.francis@xilinx.com>",
        "To": "<qemu-devel@nongnu.org>, <edgar.iglesias@xilinx.com>,\n\t<edgar.iglesias@gmail.com>",
        "Date": "Fri, 1 Sep 2017 14:00:37 -0700",
        "Message-ID": "<241130c59df31aebaf4f23b5f151b6b5c91f36fa.1504293917.git.alistair.francis@xilinx.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": "<cover.1504293917.git.alistair.francis@xilinx.com>",
        "References": "<cover.1504293917.git.alistair.francis@xilinx.com>",
        "X-RCIS-Action": "ALLOW",
        "X-TM-AS-Product-Ver": "IMSS-7.1.0.1224-8.1.0.1062-23296.003",
        "X-TM-AS-User-Approved-Sender": "Yes;Yes",
        "X-EOPAttributedMessage": "0",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Forefront-Antispam-Report": "CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; \n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(39860400002)(2980300002)(438002)(199003)(189002)(36756003)(356003)(76176999)(50986999)(8936002)(54906002)(626005)(2950100002)(6666003)(63266004)(305945005)(106466001)(33646002)(9786002)(77096006)(478600001)(47776003)(50226002)(5660300001)(39060400002)(2906002)(4326008)(189998001)(2201001)(5003940100001)(50466002)(81156014)(48376002)(230783001)(8676002)(36386004)(118296001)(81166006)(107986001)(2101003)(5001870100001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR02MB1121; H:xsj-pvapsmtpgw02;\n\tFPR:; SPF:Pass; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com;\n\tA:1; MX:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; CY1NAM02FT047;\n\t1:Iye/H7JRnJNXpEaiQZ2/WUtzfA4bSH6oHxJHuOqWYkU6oLjJZZvOYcOwQwwSl+azu/63CbKfTLuf8vXh1Xm5OuF5jTl+Znobh5Bdzwa+bNCk0oPd54hzk3Krii7LEnG3",
            "1; BLUPR02MB1121;\n\t3:/UNoEEjZoKhf+WNK7RfWTVBVmuxhtUymfHNeZtw2WYcPeB2uwqX3e6taxhKwvOVLWUTQsHr9E+bQoFF4rPogNNYvsL+3wZB1iBVr9glpiaCENREe94jYHY7WcAreECXWsFNmwk6EECARItKzLUxfns5Ij+XZH9yMNZ688w93PyQXu0LGxaEWfjn4svNCQ/30B32utCUtaKhoTKQlwhp3FwVrqmaqV7BdVe3TI5sKPCDKu7GES7t1Go9eIArvjcelcVlpNAmLrFk69qUh3KDlAlGE0SE6UlgdEAACfmQwpS77KqOHBsUdDNTMcwLCrivhiwubDeBekhVD0CbXIFwcE7nWw48dpHue4kYFKB4To2Y=;\n\t25:razIpMud3iWzC0B2sVZ5jcu2RmNJUjWM3huCVWiB1FlfizAr60ppSlPBc+PXTvSlXpVyo/x9TXx8DayGtGgHb5gLOA/Lu9nd6XHUfHLcAqt2l7fatgcBdmVWp/LzBgJevfVG1Gel9T2J9PAfoKYigaWrAgUAIvAhhXlsGpRae+Tq1CUWjxGBxgnr1ah7X4GMzZXMsZfwEaT+KPKHH02AqCDpAoN8zDY/YR2lVic72BnlYaBZOR5Jcjl/HQ8jbrNarUXKlYYBOXpfsy63KfxXVMohDQ3yDcL4WQjapopsYAv2U/XWxr23eN0y6sovYEcZwfwv//Azi/Mxtu7lnSebrg==",
            "1; BLUPR02MB1121;\n\t31:/Qr2Fau/SFRpLXXYE4eGaz2dXenbCNUNEtrtpOxp1qxKBD/NPjNQzP0HQDl7VzecJIay8LKdUSXhFCS25cwHAKi42IZrXk6Uc0zsFj8tCNI7Nc6esdM66+dph3HuEirEQPZybFREjJJPpal5OK1sMYX0iKg8ABKMSXQCbyBY5fDY3ihCQab+PCG7EcaQno3s976iP0t7EutMfXqvZ91hHeEu/m8kKAHlTg+T5hKnJic=;\n\t20:LhFZ9mcSHZeZzMBRFKhil4IObQ2wxfoN1W+lMAF8p4/5MgFn7AAEHuXKhonocXVgDOEqmI941IrHhfclCbhgfe+3hPwZQpscikfI/I53QEsvPc/omsLjRvPvhbB7ET/1NoC9NBmznk5L1r5o6SQ4sgCVEBfEk/rs7UFq1Hyz/frFtOLYJdEy0AmqCAX6SaIzavkFrDr7hxWGIq+wauXRjX+AggOhjvMtoBVaXJuW5OMFgyYRglum3c6w0iskko8vTvWKKRewS0o5Ub6gQ3A8x8p12IEHftgxhsKwumGwuiGB60ZqLSpZIPucB8GbSLo23rut4yaFU80GGbALiebmZDHeqtUfphjGa+p4/gdSddgBuf9MtLRlDh8pRB1N41PQgG7opftMwdnSgDKFAq2RuH2n97+bqMwalutJ2WIb378rOln3F5UVbe7i6dAcag/zKngKHWhHMq/wLW1M3lV0mkMLQuf05bA7PS87cVG12e+RIN/MNz7cgckhi2pkgnXZ",
            "1; BLUPR02MB1121;\n\t4:6GOGKrm1rv8Mixy49PRZxEvSeD8f2+S3pwK1Zkog4ss8fl486RVat5GxMfZAR5V+NTOWJ7kmvjAbWAXsn1xrGLQbUp7YPGOK8XTa9nqQMZpa4J12e2O+20dtIBotRZcQH7LhlnaYJpEjDXbJdjZsymPeoLb4F/n8DOR57ss05hSbdgjZvuYqIVPkTSKvXoWPErz48MgLC77wvk5cwynza+W1/KOY1wORwiFl6m5drY7oUXfANdNPKqDH6jONd5CNfM3FXDXkFSASvtpsQ/sTSvHh5AYWjyMkz2p9D9SVc7bAw9Q6ugdux6Po5j8iKlQ/PjFehCcxeste/jxuQ44aWQ==",
            "=?us-ascii?Q?1; BLUPR02MB1121;\n\t23:GS6U7Xw5zZimDSmiKChRGb6mqxmwWiNm58MEy+2Zv?=\n\tYau5YyFtvPLb6XMO+g2v8tNChYdRSztr1ao7kKiiBSlwOpdBNxc4bVjmGrBgrum69219l0HzGqWX6y5ukde6urc6lGGxFM3l30bMEIRWGGqIXcBMR42ZQmQEpccnqcSKCFlucvO/vPREsco3g76zOopScImt0ZNGvNYDDiF1jgykg/GQsywANHMk0Wqhs93q9oR5J4Ivzr15Fo5KcVdmuHQdeNxPLXh7aS2q+eSDikxQLZ3ik9jdn9sUZjn/QEAzj5Ipr6KYxD5rn1uZZtcx2N0+ay2OeK5g3ynJ97qvZhtS2MQ1SIE4Bd5eUqECNExZu+cVNfDM4Yu8u/jWDyk8lL2M5Tvzb+55qf2Ls5kNUCBvwbluogJI2AVmmS5+X1XJ3GkqHLt1zn2t1K5T+6bj7pXBFYII+R8CzmL9gTXAu4LIgsAmRLJDmVFbkRfGPVwVY2m760k8rCAW5pXp4Y8feHMhsgSh+7f5mGUJM8vZ7MJtBz7Rlrj0nI0RoDVASgkZD2D6cPu8YJTDyPGbU+jlMhpHK+1zv+qi8a+JlSHnat+66KSY+0Sl4SoLiqj263WDYKEshN24XbseDj+RdK8W5glCj51T3tABChjn+mLbJoORDYzXWKirWt/kzee6QW5RyTjFulUk1FifSBzgkz/WaxHA/3rim0P8fxlU2UCm8GeSC8zj5Dwl3ZWa9KYIrnB9KoVcfUaoH1UQFhFTPRAN+ttaPlYEN+bM0tbDXHfPkTK7s5O1+E2Kjpft7o+ayFfmn2/NkUg4WGzFWb57JmLAozKb2QdnE2DG3RrvoBUm/sMms73nBXKW/FvIF+wjIjQcyEbB7Q7/abwdrIvFyN9g1yoMwUMCXGAucU2YzgQ8Wv+EL2At1gxP7BNCf3gRhYspJJIpSI4SsfcT1CNWZe+loyv+uCOffbvaTgmXSlII/r1jUC5Rhk5xi4IWRUxGeCe9ICEt7mLU1luoICwqQDuCdWxBmqoiyLiejI6JSD4zQi6kg==",
            "1; BLUPR02MB1121;\n\t6:CPV8uQztpTmezf5jxCIZSpqXq3adv9ih6D9dYfCzOWTeYyU2UaZbdsuyTbVBSQY85HOnXHrdDzNN+5PhUOGLRzAkDZuZhLw7KuypNJwESfTdM2uXKYLC3rv2/wrimBHVUkDL0Slb53rhsLJkXNBxaXC2/V+f//SqLQOFZDM6cYuGwnIxioDtg7ZsQimVadMOHIrFVYfnLaCKL6nDliGXpX7G850L34/KidCMSbsrPfpwWF/DfEiKIOESsnYJzBVV/KoNJQcceHYysAseERgb8hK05LT1J4anayobBK+/G7NY4K+tshRydfnCg558GQ9uvBzRHL+pfFLb64DYH7upxQ==;\n\t5:SSnruznjo4beRgbKITYh+IRdfTi0Ox8Mm8VO6QZjyA+c8E2PTgP9j8uv6oYUCniQk57OTiSi6fCLwpzJFRsHZ+/+A9xRtiEasxXB6d2KfrrvdBmPqhzcuM+8DrRk4ojDyMVIPAxJNLstvEY5XlIo1g==;\n\t24:Vq2LdqNrffu9y55mXCDztbBU5jWnLeu4tvRATH84jkoITuG8DiiK6WJzVvRB9KdIUmfoTLZXfAbQwibcI2cSWkb9N/9Bg5ZLj3LJYCy9BYY=;\n\t7:PTJRe3e0k7eR4MfSo6zjbe8zq2daS+xaz8tGl8ZLu7fYgnihLo6/nJk9gbnYssDy1p5E0NJLvN8u5r4VwoERJH/tuo7mBb7tEdXmWuNMRDjCCA1xY/LpsgWgULvKP6jDkNitpnU7UgNGhSqGUL1Ql641A7yAdxZzqYid4MkH/CaS/Nk1HOk2ZmQ5lQ7+ngm5Am7EqQWJUkoxro7tLr60c8uWgtImWKCCVLJTkGbDaWA="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "d7036275-104e-46ea-7d0e-08d4f17d0217",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(8251501002)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:BLUPR02MB1121; ",
        "X-MS-TrafficTypeDiagnostic": "BLUPR02MB1121:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(192813158149592)(21532816269658);",
        "X-Microsoft-Antispam-PRVS": "<BLUPR02MB112110E2C8F84E4F0BBC1691DC920@BLUPR02MB1121.namprd02.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(13018025)(13016025)(10201501046)(3002001)(93006095)(93004095)(100000703101)(100105400095)(6055026)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123562025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BLUPR02MB1121; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BLUPR02MB1121; ",
        "X-Forefront-PRVS": "0417A3FFD2",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "xilinx.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "01 Sep 2017 21:04:16.6725\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "657af505-d5df-48d0-8300-c31994686c5c",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=657af505-d5df-48d0-8300-c31994686c5c; \n\tIp=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BLUPR02MB1121",
        "X-detected-operating-system": "by eggs.gnu.org: Windows 7 or 8 [fuzzy]",
        "X-Received-From": "104.47.41.66",
        "Subject": "[Qemu-devel] [PATCH v2 2/6] xlnx-zynqmp-pmu: Add the CPU and memory",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.21",
        "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": "<http://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": "alistair23@gmail.com, qemu-arm@nongnu.org, alistair.francis@xilinx.com",
        "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": "Connect the MicroBlaze CPU and the ROM and RAM memory regions.\n\nSigned-off-by: Alistair Francis <alistair.francis@xilinx.com>\n---\n\n hw/microblaze/xlnx-zynqmp-pmu.c | 65 +++++++++++++++++++++++++++++++++++++++--\n 1 file changed, 63 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pmu.c\nindex fc3c8b236f..33584cfa4d 100644\n--- a/hw/microblaze/xlnx-zynqmp-pmu.c\n+++ b/hw/microblaze/xlnx-zynqmp-pmu.c\n@@ -18,8 +18,11 @@\n #include \"qemu/osdep.h\"\n #include \"qapi/error.h\"\n #include \"qemu-common.h\"\n+#include \"exec/address-spaces.h\"\n #include \"hw/boards.h\"\n+#include \"hw/qdev-properties.h\"\n #include \"cpu.h\"\n+#include \"boot.h\"\n \n /* Define the PMU device */\n \n@@ -27,21 +30,51 @@\n #define XLNX_ZYNQMP_PMU(obj) OBJECT_CHECK(XlnxZynqMPPMUState, (obj), \\\n                                           TYPE_XLNX_ZYNQMP_PMU)\n \n+#define XLNX_ZYNQMP_PMU_ROM_SIZE    0x8000\n+#define XLNX_ZYNQMP_PMU_ROM_ADDR    0xFFD00000\n+#define XLNX_ZYNQMP_PMU_RAM_ADDR    0xFFDC0000\n+\n typedef struct XlnxZynqMPPMUState {\n     /*< private >*/\n     DeviceState parent_obj;\n \n     /*< public >*/\n+    MicroBlazeCPU cpu;\n }  XlnxZynqMPPMUState;\n \n static void xlnx_zynqmp_pmu_init(Object *obj)\n {\n+    XlnxZynqMPPMUState *s = XLNX_ZYNQMP_PMU(obj);\n \n+    object_initialize(&s->cpu, sizeof(s->cpu),\n+                      TYPE_MICROBLAZE_CPU);\n+    object_property_add_child(obj, \"pmu-cpu[*]\", OBJECT(&s->cpu),\n+                              &error_abort);\n }\n \n static void xlnx_zynqmp_pmu_realize(DeviceState *dev, Error **errp)\n {\n-\n+    XlnxZynqMPPMUState *s = XLNX_ZYNQMP_PMU(dev);\n+\n+    object_property_set_uint(OBJECT(&s->cpu), XLNX_ZYNQMP_PMU_ROM_ADDR,\n+                             \"base-vectors\", &error_abort);\n+    object_property_set_bool(OBJECT(&s->cpu), true, \"use-stack-protection\",\n+                             &error_abort);\n+    object_property_set_uint(OBJECT(&s->cpu), 0, \"use-fpu\", &error_abort);\n+    object_property_set_uint(OBJECT(&s->cpu), 0, \"use-hw-mul\", &error_abort);\n+    object_property_set_bool(OBJECT(&s->cpu), true, \"use-barrel\",\n+                             &error_abort);\n+    object_property_set_bool(OBJECT(&s->cpu), true, \"use-msr-instr\",\n+                             &error_abort);\n+    object_property_set_bool(OBJECT(&s->cpu), true, \"use-pcmp-instr\",\n+                             &error_abort);\n+    object_property_set_bool(OBJECT(&s->cpu), false, \"use-mmu\", &error_abort);\n+    object_property_set_bool(OBJECT(&s->cpu), true, \"endianness\",\n+                             &error_abort);\n+    object_property_set_str(OBJECT(&s->cpu), \"8.40.b\", \"version\",\n+                            &error_abort);\n+    object_property_set_uint(OBJECT(&s->cpu), 0, \"pvr\", &error_abort);\n+    object_property_set_bool(OBJECT(&s->cpu), true, \"realized\", &error_fatal);\n }\n \n static void xlnx_zynqmp_pmu_class_init(ObjectClass *oc, void *data)\n@@ -70,7 +103,35 @@ type_init(xlnx_zynqmp_pmu_register_types)\n \n static void xlnx_zcu102_pmu_init(MachineState *machine)\n {\n-\n+    XlnxZynqMPPMUState *pmu = g_new0(XlnxZynqMPPMUState, 1);\n+    MemoryRegion *address_space_mem = get_system_memory();\n+    MemoryRegion *pmu_rom = g_new(MemoryRegion, 1);\n+    MemoryRegion *pmu_ram = g_new(MemoryRegion, 1);\n+\n+    /* Create the ROM */\n+    memory_region_init_rom(pmu_rom, NULL, \"xlnx-zcu102-pmu.rom\",\n+                           XLNX_ZYNQMP_PMU_ROM_SIZE, &error_fatal);\n+    memory_region_add_subregion(address_space_mem, XLNX_ZYNQMP_PMU_ROM_ADDR,\n+                                pmu_rom);\n+\n+    /* Create the RAM */\n+    memory_region_init_ram(pmu_ram, NULL, \"xlnx-zcu102-pmu.ram\",\n+                           machine->ram_size, &error_fatal);\n+    memory_region_add_subregion(address_space_mem, XLNX_ZYNQMP_PMU_RAM_ADDR,\n+                                pmu_ram);\n+\n+    /* Create the PMU device */\n+    object_initialize(pmu, sizeof(XlnxZynqMPPMUState), TYPE_XLNX_ZYNQMP_PMU);\n+    object_property_add_child(OBJECT(machine), \"pmu\", OBJECT(pmu),\n+                              &error_abort);\n+    object_property_set_bool(OBJECT(pmu), true, \"realized\", &error_fatal);\n+\n+    /* Load the kernel */\n+    microblaze_load_kernel(&pmu->cpu, XLNX_ZYNQMP_PMU_RAM_ADDR,\n+                           machine->ram_size,\n+                           machine->kernel_filename,\n+                           machine->dtb,\n+                           NULL);\n }\n \n static void xlnx_zcu102_pmu_machine_init(MachineClass *mc)\n",
    "prefixes": [
        "v2",
        "2/6"
    ]
}