From patchwork Wed Sep 6 00:12:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 9939829 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 0B31060350 for ; Wed, 6 Sep 2017 00:18:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F153828A30 for ; Wed, 6 Sep 2017 00:18:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E603428A41; Wed, 6 Sep 2017 00:18:35 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 3D20E28A48 for ; Wed, 6 Sep 2017 00:18:34 +0000 (UTC) Received: from localhost ([::1]:33612 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dpO2J-0007YE-24 for patchwork-qemu-devel@patchwork.kernel.org; Tue, 05 Sep 2017 20:17:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49079) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dpO0q-0007TC-HO for qemu-devel@nongnu.org; Tue, 05 Sep 2017 20:16:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dpO0l-0000OG-Ha for qemu-devel@nongnu.org; Tue, 05 Sep 2017 20:16:12 -0400 Received: from mail-by2nam01on0071.outbound.protection.outlook.com ([104.47.34.71]:28224 helo=NAM01-BY2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dpO0l-0000Nf-6i for qemu-devel@nongnu.org; Tue, 05 Sep 2017 20:16:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=ALrtPw2FcNSYMmq9g0PDjADqGBsbMxoimbcvbRpL+t0=; b=DywFVuurOrn+0xQfbE+DT8peNcTQ3lvNYHtE/wqGvKbUo/rTvYjX75Pk2hsO22hsUpf7jUI1xNJwkqZW+Z8CPXALgwPPV4QMPFkPI5VBfixqdLYmwxIPyhrP90BzClfONBjfa1Un7qh6YRwTjGrdMrfxAKbkYwPEFgDQIdGYL8A= Received: from BN6PR02CA0036.namprd02.prod.outlook.com (10.173.146.150) by BN3PR02MB1126.namprd02.prod.outlook.com (10.162.168.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Wed, 6 Sep 2017 00:16:03 +0000 Received: from SN1NAM02FT012.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::203) by BN6PR02CA0036.outlook.office365.com (2603:10b6:404:5f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10 via Frontend Transport; Wed, 6 Sep 2017 00:15:41 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.100 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.100; helo=xsj-pvapsmtpgw02; Received: from xsj-pvapsmtpgw02 (149.199.60.100) by SN1NAM02FT012.mail.protection.outlook.com (10.152.72.95) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11 via Frontend Transport; Wed, 6 Sep 2017 00:15:40 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66]:43271 helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63) (envelope-from ) id 1dpO0J-0005Zf-DE; Tue, 05 Sep 2017 17:15:39 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1dpO0J-0001hW-AG; Tue, 05 Sep 2017 17:15:39 -0700 Received: from xsj-pvapsmtp01 (mailhost.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id v860FX3n029915; Tue, 5 Sep 2017 17:15:33 -0700 Received: from [172.19.2.220] (helo=localhost.localdomain) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1dpO0D-0001gr-7T; Tue, 05 Sep 2017 17:15:33 -0700 From: Alistair Francis To: Date: Tue, 5 Sep 2017 17:12:01 -0700 Message-ID: X-Mailer: git-send-email 2.11.0 In-Reply-To: References: X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-23304.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.100; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(979002)(6009001)(39860400002)(2980300002)(438002)(189002)(199003)(478600001)(2950100002)(81156014)(6916009)(6666003)(5003940100001)(626005)(5660300001)(81166006)(36756003)(8936002)(8676002)(4326008)(54906002)(118296001)(39060400002)(110136004)(189998001)(47776003)(2906002)(77096006)(33646002)(575784001)(36386004)(76176999)(356003)(63266004)(9786002)(50986999)(50226002)(2351001)(50466002)(305945005)(48376002)(106466001)(107986001)(5001870100001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR02MB1126; H:xsj-pvapsmtpgw02; FPR:; SPF:Pass; PTR:unknown-60-100.xilinx.com,xapps1.xilinx.com; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT012; 1:Lx8pBtD2QYyYhMzuVssPDa6wX3uKnApl64R/BEKJ0PnFON6uu0haFu56VL5d/kaNG6DGXkY+iKKYj4aA6vXU9RCz6pPjqvrQuCaUVAlu0z1ZgSeknIjI1fHuklEx0H6/ MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d7517046-9c09-4a2c-807a-08d4f4bc68b2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(8251501002)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BN3PR02MB1126; X-Microsoft-Exchange-Diagnostics: 1; BN3PR02MB1126; 3:MDgsXuWIR/l+EkW9ZGnOHJm1nDIDrwAYV5vweUp71mDGZ7DTqCjUMoHnKyohcT+IQHkFJ5gdh00G1ZQcrUg+6Co69iRElK18/yu2G+098rGbdk0qOw66vYHSvvAnVeN61MHsjjeyOwKiSw4BdGfSu57s0go3cDqGAcTpRHpnl88mqsGnrNQXMQkC2z25zcQTGBkt2kEF/s6il9gCumIO/VjbJTo7DHahh5TDbbBtkOozn9qM4KZ1bbU7pBnMwVVMmgjpPOEcGFin/X3q4uuBpl3GRPtFmbwBAD34ZKsKG+ARW4gvtfGp6hDO69Ci/ualFFptNuY521vJYaMiVVKShJ67DmnGp2ICSZ167SNr1v4=; 25:XYTDzgXej1TWSVaxnOU3SQsrPEpP7WB+oM1JRp95GLqEzyqXo2Igt2JWJ5R9vuF59YFfxTqmtmVm/xh7c3cs3J2j2WiqPozkQJQxz21hu4uWp2lMC5hiEKMQvhLg3qvrJX3iNChAcVRBHbLdzg45B+dWjL2D62wDEHU7Y1deJP362qm+HbB/tfODvLzT7xaA8NOGPPtskXclHcVRCNV9frhuDD6gI1fuhvxp6Tu2l63dZuBBJTd3f6mnNXvU2riPAHlmAc57L/HQtFWOepRg3gliHr4kexSRLhH3xXXW8ICfxJq//XeeS5sS1XWQmZ4tBhbq0XV7LKcYa4Kj7TjzCA== X-MS-TrafficTypeDiagnostic: BN3PR02MB1126: X-Microsoft-Exchange-Diagnostics: 1; BN3PR02MB1126; 31:80HK3L2XrYKvr5ISyxzdf0PlUv+sny40PZ/abSBna04DP2ktUSoz7OnvZABTKBsxfpYJrHb6UlkzXYcZLA+rdeOCTVxK3qJt8iO9XjOIoLS2Loekdv+763vsua9sTaFpm4Zb2N63h8Dj2BiNfhmCd3tTz0nwVNZ8pTz70wVwzdqGvhLoFVb3yZdX60s4QEjkqgxxq05M297r8d4MU69Jvi5gdtfSZNk1suLwQbXSg/8=; 20:mu9fA01u+qq2Xl1YbKLzpwR50lNy+aMu1ZsHR4L7onVtj4u5HIPwDaBJEbC81Db8WIRhP4P//8ydcRHWKMhE+Z3TJH2n5JfsoBCV12HZVlkz2XKkK63YBV/JGtlc9BCdjgk3CD/1ywOVwhlZltZbwsOCSFCf3g4d2B6Nu+DC6hK3NpKoBggDKRELFbmKhBVO66goRB5EwGnz3r2M/DLK7DgJY0NdrgYMeY7NPMCFl2tue27wIRDxujJfM8GEciCFX6ISH9k675Hyo3myWsXh3kJD1xRkbait9nn6EWBrQrfPjtZLRJo1LIQ3Mek+w2foC2KqJmZt1PKKyXvVLKOQDYSZC5bBcLfcvZaxOvvsmukKjLSX/IqBCzm4K7LgO6teVgLTn50RFjlpUnuipvn6MLoGpna/2BZ3qoh+cWxkatCthnFibDTr8TngkfXSgZzj/MvFtwoNbtGhgAOX+0T50+pbD9l7PyOwzzZrQqrkbMDghHRqzStaUabWgqkefb6O X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93004095)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123560025)(20161123558100)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN3PR02MB1126; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN3PR02MB1126; X-Microsoft-Exchange-Diagnostics: 1; BN3PR02MB1126; 4:XrZN5dj41gHa+wMoes4fLv98Jm7EgwkAs19oZ0XOEvI+1y8XYtL/NMthq9fDSZGhWlUSDJ8DBXDt4FFnkAnd4nnLmVC5ET5JQXSwL/OOqCtWHKPavTACGWIMpjx7j+USwrYd95oX+jEATD+4sM73AFhp0KwAp9Gnzp6zuRA3vfM3COjjYONlKRZodhOjMXH1NlbZc08r5UZowvEzTpem5h4sujSR3AaB4I9cFsjn+a0gxiAgEspjsbV6TKOogQVhQThJwUaIuVAQrILhPGnAfo2UxhvTf1d8e94MkdFNFZE= X-Forefront-PRVS: 0422860ED4 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR02MB1126; 23:Pl3xngM+o5YUvVdCoCZH1s+wMAa2soZL+w14mJFin?= =?us-ascii?Q?a/U7Y+zyt4lIWomHU5bnxOiZM8o+0EBQXNMsXm187oHNsIsNm+p2acAn9Y6J?= =?us-ascii?Q?Ew2g04zLb69k+RtBUPBoG08B8gHHQ3rSCEJD3jklg4wp9u5ZuXidfNrjo5cC?= =?us-ascii?Q?iOHjSw34mqba88M3gAN6rkG2hhSdCXz+WCXXrb5XQRgWgf7S/ChEcHjXYXTN?= =?us-ascii?Q?c5vAO5o4wpBDe5OPmxsk6ZCZrgd9OHH8Y7xpLIvGiouHxa/fd9BV57JSGpUD?= =?us-ascii?Q?5rGqN1hAsgMfEfSJVzaptaFeIA7BloVH7Q0oaVWTm9UDX7hyqffBmXxfV8vs?= =?us-ascii?Q?NyuvPBXqIm1zUMJpTc0jYSK8DHXv3InbjvswSlzxO/itUtsiVF+7wUoN0Qeu?= =?us-ascii?Q?XP+s0DLKbbG42xaIUngYEsWSgjBA5xGqgWqfbnWp5EpeHwOFMjLvQEfOoffB?= =?us-ascii?Q?T9j25T28pqijvc96oXuNBXLGF+1bMnSMY6qmgYfePqCB+yhlofQNyAkOyvHY?= =?us-ascii?Q?o+2Sp8OhAvEK48pAIp8/VdgzrO03FYPvmCqzrnncfDci4s0UrsUeJXChVOMy?= =?us-ascii?Q?OZ509z4n4B847YtVW6Yghba4zZO3rm5DGTrCtzOsDWRfynPg94OqGNOk7CxE?= =?us-ascii?Q?8WbBe7RUODcsXSuUl5He/KWBY9JaLmrKASMY+KYvV39NFQnjB2DuXSoP1sZu?= =?us-ascii?Q?0w71DgopwzcAYm1qfAcsQ8eCWMRzSejEHj36/SomZ3IbKQMa6Vupu2cFx+3S?= =?us-ascii?Q?Q4t8nTbhV3mL6ScTvEaTTA+0dleCYMVruDIkdpUsPdkgBwdXHh99aTwoeCLX?= =?us-ascii?Q?Ld/NUaCjJTUMuAo0fjfT+u1pyf2WcRoT6SGdF8OChN27BOhC3iQVXLlT7ch/?= =?us-ascii?Q?ABcgkppf2TS9Jcht15yjnm05FAZsxbhzimU/bM6BogzlWnhs8CLgqRmwp+UZ?= =?us-ascii?Q?IdkmTlSHDVGeDS3KodruN1w+fwZXTOkxdRfptysE3lFP3mh8snfXNIdYl3/G?= =?us-ascii?Q?OUzryOv7aemIX7rs+yINl3vLwq+MgAUBpMoKIHb1mgi+hp0QTVqT+iJjPYTh?= =?us-ascii?Q?rGSbgSkU4cIqqkO9KjCTT1gAAQbVe+4DLZmy9EQ16MiW6uTtFMHO00dkG8+4?= =?us-ascii?Q?zNdXhvbVnpZnQGUA2i1karHiPhOqSgHJcRwWw7Qcr3sSXT/Z6OFNA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR02MB1126; 6:ycdwkFrh5mtU/gpHLCVwtKxGdiQB6HndauwX01fr74TPPdTEjE538PQsdnJSYqdJ/5keXpRMv/noFn0g+XXDEQVyS9ll9x+OrkuSake8py2AM+MQbTGa8ZmObD+b1tuEzNqFWdxE1WTFjSiDYCMe9yG/14biq2UzzTitE/1YcKcZrMdAKITRlWmsnpZ6fC3Dp56tbcaYpXuwfAcnOZNmMhQ328+MTNnWDkEggU95TEOjwJszqQJPoWDPQi1plZDQHN/cksVAmvZn3vNz+RVz5yxcQueyYTZB2/hwH7ev0ZfnS4QpJqwTwecr8TlSaHSL0Iuqi4E9CpumYO4NLk/aOg==; 5:26ExSgfk/bLjvsx06qIJ9vyQTZvwlRQRxpsndRubMfxXfJxSXnGhXTK4t8NPSQk8tjaffB41qWCx2KgNUTVXRvQ6NKbSQrbvNAc976FXHtp4RzhRIorDc6i3cZFi8Nx973/M6e50Ee+NcQ/MesYIbg==; 24:xRLEQzcpytKC8Ehc7FejxaN6TpeGcbsLTR1h+bW4DgaZcv/Ya4oOf3Y06Y9mCJnZWjdsoF2FdTATnFmn+fWwVAfDais8OITl/EOmQBS72h8=; 7:doS0UEPzQ4XEoVwwY9E7Ph7M7OQBrCLnl7yx+INTcAkPzpvGB/aU4COcXG5FSrIPOM6v6/5LSQRm7yUGal9EZywZJlkMqqU/I6kv5BYRzvANisFF+NIiZWpmbfEGYOsuo91wvl0Mr8HFp9xaFvkleKvbQSLaL34Ein/vFfazjkbENVcou3t8wYrR31217xysoAd0q1o3f9p9ZbWnx/Ec0sO2W3kWbxIrHPsgwTftcyk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2017 00:15:40.8640 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR02MB1126 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.34.71 Subject: [Qemu-devel] [RFC v1 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: marcel@redhat.com, alistair23@gmail.com, ehabkost@redhat.com, alistair.francis@xilinx.com Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Alistair Francis --- hw/core/machine.c | 27 +++++++++++++++++++++++++++ include/hw/boards.h | 1 + 2 files changed, 28 insertions(+) diff --git a/hw/core/machine.c b/hw/core/machine.c index 41b53a17ad..de0f127d27 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -758,6 +758,33 @@ void machine_run_board_init(MachineState *machine) machine_numa_finish_init(machine); } machine_class->init(machine); + + if (machine_class->valid_cpu_types && machine->cpu_model) { + const char *temp; + int i, len = machine_class->valid_cpu_types->len; + + for (i = 0; i < len; i++) { + temp = g_array_index(machine_class->valid_cpu_types, char *, i); + if (!strcmp(machine->cpu_model, temp)) { + /* The user specificed CPU is in the valid field, we are + * good to go. + */ + g_array_free(machine_class->valid_cpu_types, true); + return; + } + } + /* The user specified CPU must not be a valid CPU, print a sane error */ + temp = g_array_index(machine_class->valid_cpu_types, char *, 0); + error_report("Invalid CPU: %s", machine->cpu_model); + error_printf("The valid options are: %s", temp); + for (i = 1; i < len; i++) { + temp = g_array_index(machine_class->valid_cpu_types, char *, i); + error_printf(", %s", temp); + } + error_printf("\n"); + g_array_free(machine_class->valid_cpu_types, true); + exit(1); + } } static void machine_class_finalize(ObjectClass *klass, void *data) diff --git a/include/hw/boards.h b/include/hw/boards.h index 3363dd19fd..78678f84a9 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -172,6 +172,7 @@ struct MachineClass { int minimum_page_bits; bool has_hotpluggable_cpus; int numa_mem_align_shift; + GArray *valid_cpu_types; void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes, int nb_nodes, ram_addr_t size);