From patchwork Tue Oct 17 22:31:19 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 827351 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=xilinx.onmicrosoft.com header.i=@xilinx.onmicrosoft.com header.b="K59rYLUR"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yGqpJ0Dxcz9t2d for ; Wed, 18 Oct 2017 09:38:00 +1100 (AEDT) Received: from localhost ([::1]:41755 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e4aUo-0005Ke-3w for incoming@patchwork.ozlabs.org; Tue, 17 Oct 2017 18:37:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41690) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e4aSU-0003yo-Hm for qemu-devel@nongnu.org; Tue, 17 Oct 2017 18:35:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e4aSR-0000iU-Ek for qemu-devel@nongnu.org; Tue, 17 Oct 2017 18:35:34 -0400 Received: from mail-sn1nam01on0062.outbound.protection.outlook.com ([104.47.32.62]:57760 helo=NAM01-SN1-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 1e4aSR-0000hT-7Y for qemu-devel@nongnu.org; Tue, 17 Oct 2017 18:35:31 -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=mbT3HerwwqfCMhiHUBW8xD0VTh7cQu+S6sz46igncFY=; b=K59rYLURTGYj+8B6YNM2BnxfUHEBtdIZ566r9/EBwJHLlcPviOOZf3PqS7Bv7pwibGzmXPxFiyq2uH2GQOjTyRlY7fgrpvHxTyZ/CFK8Mk5kEDo9EQ9yR9PI/nvbMzJcJDBL1SAm5hYvP02CCMKJ+vETEerEGNKSYI+Rn1kmKxg= Received: from SN4PR0201CA0072.namprd02.prod.outlook.com (10.171.31.162) by SN1PR02MB1344.namprd02.prod.outlook.com (10.162.0.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Tue, 17 Oct 2017 22:35:13 +0000 Received: from SN1NAM02FT017.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e44::207) by SN4PR0201CA0072.outlook.office365.com (2603:10b6:803:20::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7 via Frontend Transport; Tue, 17 Oct 2017 22:35:13 +0000 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; amsat.org; dkim=none (message not signed) header.d=none;amsat.org; dmarc=bestguesspass action=none header.from=xilinx.com; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; Received: from xsj-pvapsmtpgw01 (149.199.60.83) by SN1NAM02FT017.mail.protection.outlook.com (10.152.72.115) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.77.10 via Frontend Transport; Tue, 17 Oct 2017 22:35:12 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1e4aS8-0004ww-8s; Tue, 17 Oct 2017 15:35:12 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1e4aS8-0002YQ-61; Tue, 17 Oct 2017 15:35:12 -0700 Received: from xsj-pvapsmtp01 (smtp.xilinx.com [149.199.38.66]) by xsj-smtp-dlp2.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id v9HMZ8Bi004234; Tue, 17 Oct 2017 15:35:08 -0700 Received: from [172.19.2.220] (helo=localhost.localdomain) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1e4aS4-0002Vr-Bk; Tue, 17 Oct 2017 15:35:08 -0700 From: Alistair Francis To: Date: Tue, 17 Oct 2017 15:31:19 -0700 Message-ID: <7d590a446dfe29a1815c3cad2a93f7d6b0d8a214.1508279421.git.alistair.francis@xilinx.com> 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-23400.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; SFV:NSPM; SFS:(10009020)(6009001)(376002)(346002)(39860400002)(2980300002)(438002)(199003)(189002)(305945005)(189998001)(316002)(6916009)(50226002)(9786002)(6666003)(5660300001)(2950100002)(4326008)(48376002)(8936002)(478600001)(50466002)(2906002)(106002)(76176999)(356003)(47776003)(5003940100001)(50986999)(36386004)(36756003)(54906003)(2351001)(63266004)(106466001)(81156014)(8676002)(39060400002)(33646002)(118296001)(81166006)(551934003)(16586007)(77096006)(21314002)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR02MB1344; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SN1NAM02FT017; 1:dUuab+KqN++RtFkYhCMXpJ1/PpNtUrag4EVnUXRAv4JGKb0f0sQSEX/F1eT3DMY5WN6qILhbuex9Q6zOexwxaqQkcy3yWO1TBcNtfs6OnQTsAK9zOHFg450bNodZwsL3 MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5483d1e0-cab0-4f10-965f-08d515af54ff X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(8251501002)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:SN1PR02MB1344; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1344; 3:tXerTKEoV7stt2nD5zovolpg4Ru/LuC6GgZqs1/z5/X8054IKPKLP2/DphPi21oob4CjdK1jut2jMmpPz9TPzZzbOyAEDqg88LEAiWrHfsLyu+GCePzi3e5TpJ2jwT5xqEqWuMvmHsueoXt1pSU0FogZPyTFuuAjEL2k2KG566iZrAhSIirXiCnqNjK6Lv2WBkkKzSh4R4oEVRfsfzW8r/XOH89LGAH+drCwJbDeCLGKfXuhieCnvkJyFeLfC0C/gE9ty7IjpBBCmh34RiqDQAnhhsQuvIqf9hvdEcuYREHjKkLhetM7tpLkJdtfdPTtSivuN6IfIrmWTh0YHj9SGEWvq25MqGFccBec5DbaS/Q=; 25:SHK7T2oNQ9v33b8+j0LbUuc171m5fLtSN5rMoed6jE4cYnMhML++oJ1C33zKwpBYB3o7oDy9GptE9qny3DuqoK18cEMkISFMHCy04ud0kqKRiQOwssN9RYDoYPBMMkwqnlvMROiLDBTt0liKdwofL+BI7PuY8FZu5X1DYFz3mb5+bCACWDe3EDXXQD+s2ES0+h/5RVeavXPWyphndH943qO/EW6e3N5CAuRJvr1Rv37XsTi3YjWFlNyWt9fiCzRxFso75QdzyU84+TZU+z65vYaGOQqzV43Bz2rriHePY7zVqtG/ffpznchiUq9AUBJ9BYnT5Mufryp121mVj58d2prhptpfkF3ulOdqH0HPEn4= X-MS-TrafficTypeDiagnostic: SN1PR02MB1344: X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1344; 31:EH29YFTZTvb6oRSnmV+5FUWEjhFEwf0wqCDyBLdthVYNXd6XUCDi6uzoxxrp/t/VWCTwx7DrvQkXvDm/Wm7VPEE3CpwCh37KKvS2MeS7KTqvumFpgA2v90q1gH1BeDrOETWdnbxSg0laDCXAD0FR0/AYMbXE6CdJ67HaJov6mqBFCwhxnSlyHxTnktowx7NSEuTAK+7LGCrxAH7qWmvP83PoWw+n3oVfCorBtMgRyGI=; 20:fyS7U2F6ApgHqqpc1mBFKvrcRqmpMHOvLdAYn2hoYtuF0DfhBROcah+Dhha1f1m3IrMOFgF8DdLNNDITMC3qORtQIiVzJQEP4EpN5BnrdHtkBN3Gc5vlaSKVLdkDY5FTFRNcJ+/ibnyVovr8h82wxeVmjEx1eR/7U4xrPSSpVwr6wG02Xm51ftSh3Leb5PD5PrNf774iJ3byd/b1RXVbs1baC8Y5mG5+ijLJKGWg+ywrMyyzwvs8Dw6fc+5Wm0Yc0hu+88jHtKwNoBvOtJSInJrayQu+RfG+nISXvEtM4KPVqxpmcWWe8UNC9Ti62f/9RkxHrPgQ/BDnAYuk9ITbEQwxthJdYiUdY9Zxi9mNXnV0nn02l+00rD4XRw4B0BU3G6reuWW7ZMW8rtl+Lf/gyRpc5c8k4JtT/MLlluMl10wI2VVyFYXfmx5SPY6qwNeGTPqHpu/2nNGbFikmT4hegSCInsZxrL69GYsfTEscu1nmTIHdPVgeHb7xiCG0fpFi 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)(10201501046)(3002001)(93006095)(93004095)(6055026)(6041248)(20161123560025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN1PR02MB1344; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1PR02MB1344; X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1344; 4:QS6jBkjgQu+gkOmqtWYqmXD3w8xlGiru+osMb/kuhBfFFNzfmr0NvuZ7gRuWduXdIozIbgndy9chGX32uFJtwm3gzLdU/769QD6jRg/x/pew76tUQX+YNJngdbpuB0Do6WC0J+T3Js0n/9PjJqBUiAFTo0r+Ug3JBMWF+kV4h9oDrqGlo7REooIHhWkheW2rI8AAK7Ge0itTfQ6V8drQ+yNHcPH3Zl6C9bMl+cIiV5mZWTc8XPCjKLtdWcfNqDgYROnjR8eqA2psUA3Ez8hv0V/YYsEtonY/R6+dXVOM0Pg= X-Forefront-PRVS: 04631F8F77 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR02MB1344; 23:arhEOwDWWKRq6eeqF71CLfB6IiRW+sGsru+/HsZiU?= 3f3ByIFhNb0RadI62pfB2NojJWQRhnEae0VX650TL9CZS2xLC9Qlfy5GjQN+pL09itSX5/L6WlCfi9sIXCdiP4yxfo+ckPAvBy4nNpOifgmszr7Y5lyxF2oAoPc90iplU9f1oxNQvoMEA/oUIjV7AmuI908oIs7sN0ybkqjq9YqQwESCjm1Yg8afTDM43oj3DzI7faxfNiHCSPUROzP7OZR2zDzMlvJOm98zpCGOGjzil1nvnQQjWIOMFG46cZDE9YoVry/NbRnXURs1ezcljQt01QjEw5dxcpU5V14kpaSmbnCYm9VOS5VDIgojyShkdYrozK2EYycIbYUgILQCOH9Wmfx5sCfqB/PWFYrLjwEDsQurRAm84d3AO9KuEQJcSXE0IBjIv84BNoziIxgFNuCDP23giDYRUQYHQvAgf8QlzCRM+OfrYJ+Aao5gH7H8SJdwAZel3kK8D60tcpT7vD5TYbYcRF/BfMD6uj65CwMhSeE6I3C+uqYaYVtmHcbg45iLQmPtn7/CPRLTUdh4H9Qcif7PyVuNfmJVqB/iDz2AGLNZgu91pwa3HrJd94ta0eT1NjsPgZun8w9Xkiof1T8SK/c/94vxKvONVzffl1dP4ibqSYb57EOXZytve5qEJZDwprfM87JnFLJU33fhUH868gZeSvmglqeKb7vzHiAGOM7UukihMykHwrQ07mWZjsFh/Ry80J5m496giV2bGzufRFaXu7r3g7eYo4+ugSn/pBwYgBad4aKGHm3+XvsXvMMkm5A9Lw+Q2ESIaSt6JAifYTchGV7UEaYZ0hRR5MQqhriZpaGtuoYaapGzfZlBq8qTEbvppDkkkXdgLuYo5L393H19ybnxszP5hlfLFPHtz8EbAaYRsrt/19VzALFGCC19Uu4pJh1xTv7YE1A+IeSZ2gBkMVuxydqLvm3/Fuj7fg0owsVf2wv9EB2/XlXCOflV6wSDy3y5Jx9yceTUjy4k6gBFUOlgVOBIYYhaBdftbvbE/+suSWjrVfQIeA85UhK5xjSU8nnwG78DrqKXahttkR2np3aYqQqc/85ZPR7Sw== X-Microsoft-Exchange-Diagnostics: 1; SN1PR02MB1344; 6:cxjxNniXxklAftCWy75+KxkRPRdWheMI09tIkLikkvuX4bA6gGImK30cW4HjQhyOKuKd+7h+T47sql8Qf+q94Nmj/d4uz2igZqNGKw8FUHMGy2nHQsDkqF6hfiLiIwjSvFGtAk1FoCmKS5Wn3VUxMo53vMDq90ebUvqKP98joWYkBHeIRBVqdVjCLyjvlAIptVwepkCNNfxyarlf5iTZ7zQDeop1HF0KP+zsG5j+SpewdB/UFSolD0myKidLbYhcpmUl7zt7kQ00H6DU78dXqqo0OAMR1PojEtebiLQG7E3hHxWJqDLClNRGWtdkzNr8ZYIekqNBYV8BHvDyiyJ3PQ==; 5:SXxti66ubIZFR0yyLnubh9KpV/lQLAd9nBI+yLaHdkPxIpxw7CuNAYgtwYR96D2kWk3R4vC9k3GZ1vd+O1M0RLtOV+I2MQJ1Pp8iuDcjYxW0tkUwpOrGbVY+ICp3RMb077y2wYkCoEerP45ddjhlhw==; 24:XccWn0Uh4HMd7k6jeCBDVpYA9sRDera22dTSeib/Kts11u6hx10zreYMJPX37FoyCLFjo/qskhwyM/NOm5Bl/BBqDsdpfOCQcOXY5tgYRw4=; 7:RZ2Q2Dripia51g1dxUHZzvZTT9ffMx13xrsyI7IXPnP0BtaalIigxiJPIOn2UUpNYtSdRkzZfooW870JZmMVlzFeNusRzEScfMTXeGA7Cr7D1mTthOV/s0uz1f/yNkJX5VAb7r+k0Jwr4xeHIRrJzC/K46GGP0eGDXCrNIoBxwjeeq0t8TO/v4hSJ3nY0usYxkTpfphyvH8LgBMih2BlpGhsGb4L7xQtD5VqJulrk20= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2017 22:35:12.9320 (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.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR02MB1344 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.32.62 Subject: [Qemu-devel] [PATCH v3 4/5] xlnx-zcu102: Specify the valid CPUs 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: ehabkost@redhat.com, f4bug@amsat.org, alistair.francis@xilinx.com, imammedo@redhat.com, marcel@redhat.com, alistair23@gmail.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" List all possible valid CPU options. Signed-off-by: Alistair Francis Reviewed-by: Eduardo Habkost Reviewed-by: Philippe Mathieu-Daudé --- An implementation for single CPU machines is still being discussed. A solution proposed by Eduardo is this: 1) Change the default on TYPE_MACHINE to: mc->valid_cpu_types = { TYPE_CPU, NULL }; This will keep the existing behavior for all boards. 2) mc->valid_cpu_types=NULL be interpreted as "no CPU model except the default is accepted" or "-cpu is not accepted" in machine_run_board_init() (I prefer the former, but both options would be correct) 3) Boards like xlnx_zynqmp could then just do this: static void xxx_class_init(...) { mc->default_cpu_type = MY_CPU_TYPE; /* Reason: XXX_init() is hardcoded to MY_CPU_TYPE */ mc->valid_cpu_types = NULL; } V3: - Make variable static V2: - Don't use the users -cpu - Fixup allignment hw/arm/xlnx-zcu102.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c index 519a16ed98..d5a5425356 100644 --- a/hw/arm/xlnx-zcu102.c +++ b/hw/arm/xlnx-zcu102.c @@ -160,6 +160,11 @@ static void xlnx_zynqmp_init(XlnxZCU102 *s, MachineState *machine) arm_load_kernel(s->soc.boot_cpu_ptr, &xlnx_zcu102_binfo); } +static const char *xlnx_zynqmp_valid_cpus[] = { + ARM_CPU_TYPE_NAME("cortex-a53"), + NULL + }; + static void xlnx_ep108_init(MachineState *machine) { XlnxZCU102 *s = EP108_MACHINE(machine); @@ -185,6 +190,12 @@ static void xlnx_ep108_machine_class_init(ObjectClass *oc, void *data) mc->block_default_type = IF_IDE; mc->units_per_default_bus = 1; mc->ignore_memory_transaction_failures = true; + mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a53"); + /* The ZynqMP SoC is always a Cortex-A53. We add this here to give + * users a sane error if they specify a different CPU, but we never + * use their CPU choice. + */ + mc->valid_cpu_types = xlnx_zynqmp_valid_cpus; } static const TypeInfo xlnx_ep108_machine_init_typeinfo = { @@ -240,6 +251,12 @@ static void xlnx_zcu102_machine_class_init(ObjectClass *oc, void *data) mc->block_default_type = IF_IDE; mc->units_per_default_bus = 1; mc->ignore_memory_transaction_failures = true; + mc->default_cpu_type = ARM_CPU_TYPE_NAME("cortex-a53"); + /* The ZynqMP SoC is always a Cortex-A53. We add this here to give + * users a sane error if they specify a different CPU, but we never + * use their CPU choice. + */ + mc->valid_cpu_types = xlnx_zynqmp_valid_cpus; } static const TypeInfo xlnx_zcu102_machine_init_typeinfo = {