get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 817281,
    "url": "http://patchwork.ozlabs.org/api/patches/817281/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/d2e446ccb46d71bed3191fc97fe1aa6c884ea4ba.1506037164.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": "<d2e446ccb46d71bed3191fc97fe1aa6c884ea4ba.1506037164.git.alistair.francis@xilinx.com>",
    "list_archive_url": null,
    "date": "2017-09-21T23:41:50",
    "name": "[RFC,v2,1/2] machine: Add a valid_cpu_types property",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "880a60eddae28ea9e9d4965e29f3fc43d3ffe104",
    "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/d2e446ccb46d71bed3191fc97fe1aa6c884ea4ba.1506037164.git.alistair.francis@xilinx.com/mbox/",
    "series": [
        {
            "id": 4510,
            "url": "http://patchwork.ozlabs.org/api/series/4510/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=4510",
            "date": "2017-09-21T23:41:53",
            "name": "Add a valid_cpu_types property",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/4510/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/817281/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/817281/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=\"b7j/nZ+H\"; \n\tdkim-atps=neutral",
            "spf=pass (sender IP is 149.199.60.83)\n\tsmtp.mailfrom=xilinx.com; redhat.com; dkim=none (message not signed)\n\theader.d=none;redhat.com; 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 3xyv8x1wxXz9sxR\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 22 Sep 2017 10:13:53 +1000 (AEST)",
            "from localhost ([::1]:56036 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 1dvBHw-0001yW-TA\n\tfor incoming@patchwork.ozlabs.org; Thu, 21 Sep 2017 19:53:48 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:45882)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dvBAD-0004mM-Qv\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 19:45:54 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dvBA9-00026i-Oh\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 19:45:49 -0400",
            "from mail-sn1nam02on0045.outbound.protection.outlook.com\n\t([104.47.36.45]:5872\n\thelo=NAM02-SN1-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>) id 1dvBA9-00025f-GT\n\tfor qemu-devel@nongnu.org; Thu, 21 Sep 2017 19:45:45 -0400",
            "from BLUPR0201CA0035.namprd02.prod.outlook.com (10.163.116.45) by\n\tBLUPR0201MB1922.namprd02.prod.outlook.com (10.162.239.156) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7;\n\tThu, 21 Sep 2017 23:45:42 +0000",
            "from BL2NAM02FT014.eop-nam02.prod.protection.outlook.com\n\t(2a01:111:f400:7e46::207) by BLUPR0201CA0035.outlook.office365.com\n\t(2a01:111:e400:52e7::45) with Microsoft SMTP Server (version=TLS1_2, \n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.56.8 via\n\tFrontend Transport; Thu, 21 Sep 2017 23:45:42 +0000",
            "from xsj-pvapsmtpgw01 (149.199.60.83) by\n\tBL2NAM02FT014.mail.protection.outlook.com (10.152.76.154) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.35.14\n\tvia Frontend Transport; Thu, 21 Sep 2017 23:45:41 +0000",
            "from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01)\n\tby xsj-pvapsmtpgw01 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dvBA5-00044y-1j; Thu, 21 Sep 2017 16:45:41 -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 1dvBA4-0006jX-U4; Thu, 21 Sep 2017 16:45:40 -0700",
            "from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66])\n\tby xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id\n\tv8LNjVX7016700; Thu, 21 Sep 2017 16:45:31 -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 1dvB9v-0006iC-Jz; Thu, 21 Sep 2017 16:45:31 -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=E5azjI6WlpQSnxq5/6CZpyUtawHThpq2PNJHtELgS/s=;\n\tb=b7j/nZ+HeYGZVH9fW2etWgvhcsTUKd7c3IqUBd3/k0KEdRz8tWAOxx+JtqiZwHuWIEfJbGRikkJXbLIyRg+LH+y3A4ATTy2sRZEDgnHziIakMrvaV2dgVcrn+YtNXFb2qPeoLo81KK674Liy5YiMjfMXXIkrVay5C7AHRxCNqAY=",
        "Received-SPF": "Pass (protection.outlook.com: domain of xilinx.com designates\n\t149.199.60.83 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=149.199.60.83; helo=xsj-pvapsmtpgw01;",
        "From": "Alistair Francis <alistair.francis@xilinx.com>",
        "To": "<qemu-devel@nongnu.org>",
        "Date": "Thu, 21 Sep 2017 16:41:50 -0700",
        "Message-ID": "<d2e446ccb46d71bed3191fc97fe1aa6c884ea4ba.1506037164.git.alistair.francis@xilinx.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": "<cover.1506037164.git.alistair.francis@xilinx.com>",
        "References": "<cover.1506037164.git.alistair.francis@xilinx.com>",
        "X-RCIS-Action": "ALLOW",
        "X-TM-AS-Product-Ver": "IMSS-7.1.0.1224-8.1.0.1062-23342.005",
        "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.83; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(346002)(376002)(39860400002)(2980300002)(438002)(199003)(189002)(5003940100001)(575784001)(2906002)(6666003)(4326008)(2351001)(39060400002)(9786002)(478600001)(47776003)(36386004)(33646002)(305945005)(356003)(8676002)(76176999)(551934003)(50986999)(8936002)(106466001)(81156014)(118296001)(50466002)(81166006)(36756003)(63266004)(316002)(48376002)(50226002)(16586007)(2950100002)(189998001)(6916009)(54906003)(5660300001)(77096006)(107986001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0201MB1922;\n\tH:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com;\n\tA:1; MX:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BL2NAM02FT014;\n\t1:/MfQi52k2T3CnDFvu2Ok1Gs6BODKEULcCM8qFEpu1QY1xW2jZcv0DT4P3JXBkPWTElHKYoeW367WIojfHVsYe343wkM5nxPbPtDJ9rbcLa7IBuxm1QJmpiN9lWuWclfz",
            "1; BLUPR0201MB1922;\n\t3:X7XhuHI8h4vtHeUMtjfnrT7GmOv7eHh6NihCpytAOKlMQPmknDRuGMeLWrXnlOs4cpqSuD4m4YciwgYKmEGhP2GLgZpxBF0yh+S35p0Jd08HnpOf0AUT4+nGvi8nddl9KH9gEuVdaljQL8fLWUswldpy2P3N+dttxLb4xOC8dPuil33X5FHNdY8sJw2a+zyCeKN/HsskqIgNIzFk4xC5kM38lESOtsJmk7KfZFv3oAXT+bE4c/fhg7OVSCZimZvCAVrD9YZyfFIWx75p6dHmB7VO1XHu59ktbCniZYsvT3JGfkNwOFVG/VpqXCypBMMutOYeaKlgovc1fKVDLi7ev9IRlscHwWbVA26kWxnAzUI=;\n\t25:p4jEPGltX7HU/hhJfM6F0u83ClDMDq/WCd8VaUIyYDLRhj4XhOGiuDfmAC70h29+MARb3Pgvj0BDYzpp1bafpTCB0XhbAph+1Rr7JovZpn06029RKcAuqaAdcZE2SfzY0qTBhTtQc8jr3PPVC/zGdYfGbkTeKs3WsRoEpJIeVdLDQ2UMkPqmWaZFL2nuEQklPRRpgtAEvoYa4YBHTA05S3Axcf251hTuhQ1s0Z9/793hi7LSanPBY4XRv+kSM5Saqqvbkgkn7QqDMHQv6dSJwNxDqrRymN8mqXl0Cp2PUHzAcjnDfZcNcQ1U+dpiQu0gFNJYTMYbSPCcc9rKksY06g==",
            "1; BLUPR0201MB1922;\n\t31:lIa/sC3I4r5oEpZSzynSkHyGjp4LR43GG3L1UCsTXOKpQ1NnaYRIxUURSfadSFZK8jckLD6kQx1KosD+Ht1Q33SLuL3HXbW/bHNkXNQq8z/VdNkjdWyhx4WfmAY1/4B2h+Am/raQqL2q91kuLOUUJvuNOkaRyLSlQw6pQUxAwDB/WQ+svt8FFumWxtTp0fYCBhjPg+uGbR7JqxuMsvkg0ihBBgBqdijj6QUNOz2/ktQ=;\n\t20:PB+ipj3Oddnk/tmfBG9x8MmA1QBlAZqT2CY2Nn5UlMRDNHABJQ9w51BIRL5CFoElNtFRRN2qrsoizRL4/HMePd4WX6mQXBY3bMAw62ZVP2Xdi1uP1EFUxEJjgwRtoBPyIEY9k0dg45DkHZrracXLYnOrFpPSmaMvWTNjvFyrc0J34MPC/EQ7LxvMZdWGe+Z+Fnwy0hH8SoyjqFj9yAoku+W4JVt6HHU+VpGS+py4ZsmcRDlxK10dHf5KNefcJqE3Y8s3jvolR10mOs41E/TxWLxoBf/IOcSK0jIKfNykosx7NosypMZtAZYlKKPkfoAYrNTAsctJIClNw9N1OUf3nosqQqpUfZmjGw/UixkviEVlEIBFYcvwplXjY8YkuU4veRj8mBKLQU7AlD2bDev7CRyzanmJzVzvUZOdD3Qp8UgWZQUCf0IR+m6dg8+YoZWlADofVf9dkYZsoJyee9Swvh2G/gP0VTqEjUipE3CktR1LRA7zEMcucWQBw35AC4Pu",
            "1; BLUPR0201MB1922;\n\t4:9pmKyNF87+hbCNDC/cPZulDHnHxpveJnmJyQaiy6VZnVbPBQG4xzJJfCOE/VI8Rf0JqzG2bpaeq20XAoqxiLeLc0X4Rw0EasaS7RawStAjA9pehJswGqM7mBI/tjoJQbCZ+MtlSjCFfaQtrA2FQoqYgtvKXQitLMzdnNpFyni62cRZHSPkP97/mjXEvr6MS6WJLe5ct7fN6LBSyA9KfKIScRh/Yy3Y2S0a4aF7FgtmkDynlLn0QB05vUHgkDlxsRTJTbmtabu6xvjtbsTAc6SHhOcy45KOhwXiMXBmFCOmM=",
            "=?us-ascii?Q?1; BLUPR0201MB1922;\n\t23:CNyBiO+kdTk1WwFBq+rLttEoNgNalm2orG/zFpU?=\n\tIRW5TJS0RRuNHAasuImBBxXKfIFaGDruywjDoFOWO2TQCG6jBeMPf4+SVoaHqNTAOrMRUq4gciZuAgWf4X2L+s8/3fabS69YJo75A0ovDq4ef6H0go2Ya1Bz9UWj3joVIfwiZtcgJP8tpZHV8nnXWhA+qfoxYTyn6emte/PZhiXkFrzd3kmbtFV2tg1PxB7/6OzI4pWwUyBnFIdrmywDm5GN0bNWgNMPfnL3+2EJ6xRqzZP4nv6ahc5r8U7pDRQJk5OCaNBAoG6Zf9/c1qzj7wDZzc17WkJaX5gc5XL5ebwuO9V1h+VpHUGe/1xErcVMcLAl6pn7R+l7gKhhf1Ag3NqIwgosCmvG9Xqndtl9IoSo3LSB7s7bbTGXszFkmO13DuvyNmXKOMQv7sf4wR6rOP2CNT1gb36VXK8wv65BfX7QZTPozd1Ul/XnpmQANNWGCLSHom1rSCSJqOx0/BWgT+ZqcjGjSucHcQJX4tVpgQDUoj1Ged6tKYF+21X2lB/3Wd+SWWiG4OBbgBOdSeegKbkDpg3FDeK1/xc4dtPaTONKXdPRS38HmdgS8YqiFDJ52RIQuH/7r4eQeZNUe8iGRfMlWG1lCl9+IWm69uf9NfRWmSlMqBjue0pqoJuyv7SW0JpyRF1EhoBGQcC3NVECfxdkecFcdmzorxI4VS5yCLMdU5bksXWPZ90bnPtyZfKwjF/nL+fcvsEsps21882vUEZGuOAIMF3VYdgCRwAWFEqItNLQEtbZ8Oh5WNdwq8aaRi4NHuHVOECOK+W+r0JFkZEpHuSpl1ZiQBFEv8vuNoS6JQoOSaDTFjWOmrJz/UQ4zEUG1hmbp+F6HQhmuLFYndztxkHbSYhGXFnaH/RhC3pBSP8wtFH6nxgLO2p5yemQSAKwUpuTiuJtWQbsDLO36Ic2Uaw51yCTxZ0VmmmCFtZZL0b7gkD6wvaYVniYdpBjRABfATEB6ortG+CQ6nH52+Q9OOig6MY5tIhDcAUkk5vhwzQZ3fdUaRJTUE9KvdQdMs40ceq3ZsVIRXlln7tSWv+6E",
            "1; BLUPR0201MB1922;\n\t6:ZDqH9NjWfYCMdJkWxodmKAHSSeK9JSDzNInFPAuyJ/p/SgwTTI7QINZOiIa51fcxbhdjQL9rxKn+kf2U+3R7lkp8vf35HJYIQI3HsuYh0FJjBK7pi8GPSZgVCEjR3oMu5JNAwsl5sRfyPaOh5aF+QZePji0d1pmJhiDiZMbDA2QemTrgLkV7H7oT3BpYPASuVq+Rn5+DPR9Y6EB0UmxLvbC7EARwCPC6H+AIm7iNbyRO2L1ZX9JxGn0KYUqmspsJB0cOtloVAf2eV8d6/jNBA3F/26prilhPHx0MNWtFTSLw39Rb8CkZDEw1wxsxoTB/l3oWw7l+KdAe+EFYq1aE2Q==;\n\t5:TE1EIPOjaJEjVlqu5BOcLPZRGvrhoBR0/GJfqFMR11In9RXOS/gas2oeuJAwrIoevPtgVR7twAxpy2U81G8ycULIuFmg8uB7NntpTDRI95/Ldw64V6BSd/5gq7efKwS0tN/ndnoUDmrbXhff10kkWg==;\n\t24:5BtzmYgejlOHuUvzYDsJOQwHBTuCnLN8rqeNGunbjaC3/Bt2SE1WE81C0RyE8mYkO6faR43U5PkM3Lkw3vcB24fgfX5wEpY8Kjwi9Fq3Fvw=;\n\t7:VpkhE3P7pxjhv4lTErLQet26SLZ2ojRfTioBI91WBZk2Qu6vC6Y7r9r/BTVlE79oNCrZhgMk5hzBZrDLUEI2EaoXOtcGrFx3qIrfUVY7B+p3D4WHAIxDr78+GFpJ+qn2fLkEkI08YRcv4iuuqNX6odAR8dpSjJYfrYF09x0jvlkMZD9U9faY4w/QgC6R6T1nTK0vYy20rLBgPJI1xoesTcf/FCrqV+9pmxkKZIjEdOg="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "fe356f06-8896-4ac2-36ca-08d5014adebb",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(8251501002)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:BLUPR0201MB1922; ",
        "X-MS-TrafficTypeDiagnostic": "BLUPR0201MB1922:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(192813158149592);",
        "X-Microsoft-Antispam-PRVS": "<BLUPR0201MB19221C7160FE0CF70E5F02F0DC660@BLUPR0201MB1922.namprd02.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93004095)(6055026)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123562025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BLUPR0201MB1922; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BLUPR0201MB1922; ",
        "X-Forefront-PRVS": "04371797A5",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "xilinx.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "21 Sep 2017 23:45:41.5843\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.83]; Helo=[xsj-pvapsmtpgw01]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BLUPR0201MB1922",
        "X-detected-operating-system": "by eggs.gnu.org: Windows 7 or 8 [fuzzy]",
        "X-Received-From": "104.47.36.45",
        "Subject": "[Qemu-devel] [RFC v2 1/2] machine: Add a valid_cpu_types property",
        "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": "marcel@redhat.com, alistair23@gmail.com, imammedo@redhat.com,\n\tehabkost@redhat.com, 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": "Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>\n---\n\nRFC v2:\n - Rebase on Igor's cpu_type work\n - Use object_class_dynamic_cast()\n - Use a NULL terminated cahr** list\n - Do the check before the machine_class init() is called\n\n\n hw/core/machine.c   | 35 +++++++++++++++++++++++++++++++++++\n include/hw/boards.h |  1 +\n 2 files changed, 36 insertions(+)",
    "diff": "diff --git a/hw/core/machine.c b/hw/core/machine.c\nindex 80647edc2a..abebfabdb8 100644\n--- a/hw/core/machine.c\n+++ b/hw/core/machine.c\n@@ -758,6 +758,41 @@ void machine_run_board_init(MachineState *machine)\n     if (nb_numa_nodes) {\n         machine_numa_finish_init(machine);\n     }\n+\n+    if (machine_class->valid_cpu_types && machine->cpu_type) {\n+        int i;\n+\n+        for (i = 0; machine_class->valid_cpu_types[i]; i++) {\n+            ObjectClass *class = object_class_by_name(machine->cpu_type);\n+\n+            if (!class) {\n+                break;\n+            }\n+\n+            if (object_class_dynamic_cast(class,\n+                                          machine_class->valid_cpu_types[i])) {\n+                /* The user specificed CPU is in the valid field, we are\n+                 * good to go.\n+                 */\n+                goto done;\n+            }\n+        }\n+\n+        /* The user specified CPU must not be a valid CPU, print a sane\n+         * error\n+         */\n+        error_report(\"Invalid CPU: %s\", machine->cpu_type);\n+        error_printf(\"The valid options are: %s\",\n+                     machine_class->valid_cpu_types[0]);\n+        for (i = 1; machine_class->valid_cpu_types[i]; i++) {\n+            error_printf(\", %s\", machine_class->valid_cpu_types[i]);\n+        }\n+        error_printf(\"\\n\");\n+\n+        exit(1);\n+    }\n+\n+done:\n     machine_class->init(machine);\n }\n \ndiff --git a/include/hw/boards.h b/include/hw/boards.h\nindex 156e0a5701..191a5b3cd8 100644\n--- a/include/hw/boards.h\n+++ b/include/hw/boards.h\n@@ -191,6 +191,7 @@ struct MachineClass {\n     bool has_hotpluggable_cpus;\n     bool ignore_memory_transaction_failures;\n     int numa_mem_align_shift;\n+    const char **valid_cpu_types;\n     void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes,\n                                  int nb_nodes, ram_addr_t size);\n \n",
    "prefixes": [
        "RFC",
        "v2",
        "1/2"
    ]
}