From patchwork Fri Jul 10 18:11:37 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 493862 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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 02188140081 for ; Sat, 11 Jul 2015 04:12:13 +1000 (AEST) Received: from localhost ([::1]:45713 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDcmR-0002Fg-4y for incoming@patchwork.ozlabs.org; Fri, 10 Jul 2015 14:12:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57772) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDcm4-0001sk-AS for qemu-devel@nongnu.org; Fri, 10 Jul 2015 14:11:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDcly-0005hJ-SM for qemu-devel@nongnu.org; Fri, 10 Jul 2015 14:11:48 -0400 Received: from mail-bn1bon0082.outbound.protection.outlook.com ([157.56.111.82]:30432 helo=na01-bn1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDcly-0005fu-Ju for qemu-devel@nongnu.org; Fri, 10 Jul 2015 14:11:42 -0400 Received: from BY2FFO11FD045.protection.gbl (10.1.14.33) by BY2FFO11HUB027.protection.gbl (10.1.14.113) with Microsoft SMTP Server (TLS) id 15.1.213.8; Fri, 10 Jul 2015 18:11:40 +0000 Authentication-Results: spf=fail (sender IP is 149.199.60.96) smtp.mailfrom=xilinx.com; linaro.org; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of xilinx.com does not designate 149.199.60.96 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.96; helo=xsj-tvapsmtpgw01; Received: from xsj-tvapsmtpgw01 (149.199.60.96) by BY2FFO11FD045.mail.protection.outlook.com (10.1.15.177) with Microsoft SMTP Server (TLS) id 15.1.190.9 via Frontend Transport; Fri, 10 Jul 2015 18:11:39 +0000 Received: from 172-16-1-203.xilinx.com ([172.16.1.203]:48911 helo=xsj-tvapsmtp02.xilinx.com) by xsj-tvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1ZDclv-0001Hx-5S; Fri, 10 Jul 2015 11:11:39 -0700 Received: from [127.0.0.1] (port=49892 helo=tsj-smtp-dlp1.xlnx.xilinx.com) by xsj-tvapsmtp02.xilinx.com with esmtp (Exim 4.63) (envelope-from ) id 1ZDclu-0002qC-VV; Fri, 10 Jul 2015 11:11:39 -0700 Received: from xsj-tvapsmtp02 (xsj-tvapsmtp02.xilinx.com [172.16.1.203]) by tsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id t6AI795m021175; Fri, 10 Jul 2015 11:07:09 -0700 Received: from [172.19.5.153] (port=58764 helo=xsjrdevl46.xilinx.com) by xsj-tvapsmtp02 with esmtp (Exim 4.63) (envelope-from ) id 1ZDclt-0002q9-Te; Fri, 10 Jul 2015 11:11:37 -0700 From: Alistair Francis To: Date: Fri, 10 Jul 2015 11:11:37 -0700 Message-ID: <8b772bcd39dc96607e9e477398f1303bf1b402ca.1436551380.git.alistair.francis@xilinx.com> X-Mailer: git-send-email 2.1.1 X-RCIS-Action: ALLOW X-TM-AS-MML: disable X-TM-AS-Product-Ver: IMSS-7.1.0.1679-8.0.0.1202-21668.005 X-TM-AS-Result: No--10.727-7.0-31-10 X-imss-scan-details: No--10.727-7.0-31-10 X-TMASE-MatchedRID: XrQLat+U8FVpXn+0UsaqnhcanaCAqviGTJDl9FKHbrkKogmGusPLb1i5 r+TKtIsrALglGcpZqpwgBq/is3U5u12V546KEHXIydRP56yRRA+dCQesAegqplwpnAAvAwazHz5 ccRN5kLMVkJxPHxFBsmiz3IFUtmP/Zz6OhOTFfvSeAiCmPx4NwBnUJ0Ek6yhjxEHRux+uk8h+IC quNi0WJD8GHEADv7t0Y99A7uDMeDdbgxjUpAKgxAy7PXvX+YITftwZ3X11IV0= X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD045; 1:DMwxGjp8idJy9ytxoG22Lx+vh+hEqE5tmiKi07AscaE5Lxp2CXw9A/nZZPRODfQ5bMgQUK3Ipl/NTgFQxPei+8vHiPm3OHqwgKNVHn8E5ywp3JQcmUaXyPc+D/2xSZeEFo7TT6BMIVwusnODdpIZrQQsELJ5yFZ0cUfpmhsqikgy8PERsdUygXK5CI5tQdCgPyRP0JhMjoOgUO4XYtWUHw8HG/bYFIU0fMht8b6mhJByoRkUmtUzd3y3B+aNfaWZ9JcJZFM1BiJ0Edmqt8mRwWd7jhb8T753rby1aVWFMZk1gpfjcjDddrL1Aq5DWYOy X-Forefront-Antispam-Report: CIP:149.199.60.96; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(339900001)(189002)(199003)(6806004)(2351001)(87936001)(229853001)(106466001)(50986999)(50226001)(46102003)(19580395003)(33646002)(105606002)(19580405001)(36756003)(77096005)(62966003)(77156002)(5003940100001)(71366001)(189998001)(5001960100002)(110136002)(64026002)(85426001)(48376002)(86362001)(50466002)(47776003)(5003600100002)(118296001)(92566002)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2FFO11HUB027; H:xsj-tvapsmtpgw01; FPR:; SPF:Fail; MLV:sfv; MX:1; A:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB027; 2:5mFmBoSeCIt2uJKddVt2Ax+Le0L/RxnK0SgAp+wwxglFoAk68dpklB2gBOvKwaXG; 3:xNn+IiOiV2jR3BTlz4tCcVtcGfbOuSZo3kliU7XX7B7IJIb5mvUhHN3yf8iK/6XBwbe/DLtNbRNQhGv4guvVwVtD5/rG2JYdHq//uarGiwootaW+UJQ/MgcRWo6TBrGnfiixuYlYgt/sDHPfZtG/sI8dU40mjZXq+lHwKFnd4pWEXAHMAF2aqQnPGDMyKWhg2fc6fwSd0LO9pT9dlMhWKTGVIR6kY6MZv0fFHol1Rqc=; 25:Cp6jcmCDEtZnuL6zKG3eEYSUgZkDdF/rpKjs0Hcgzk3LhL3Rp+N0CM0v2wR7DCiCoLcARyFJzSVpnecmEejn0RktedDjTyZLrD7BDC0FmFoDEjE2fk4KF4jbOt3AJ8q4D6mmwuKZH7QQRGiPiUupOS197HHe30yj+Uri/PvGt0HRXtejX8tekv1AqGOpvM1ungZgVbO5AYcmOA1Xoq/OeCUARTto7A18skJfluZeu8Ugqhe2ER+XvE5uhVvw+7obrOqQnEuaN+EaQ9EO5VjsxQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2FFO11HUB027; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB027; 20:JpT8V1r6irJGoC//3bD0vffHqJkO/jNBBcw2X98Gb5nmmEjikyStq0uKaaFxVq4qoxBQaKS9W3excFnh2I1UrwMXDT9YTTZJxT62N7kaukzJV90TmkoV6EJFnbmQVuEWPXN1Hb3sEGggUFMAIc6ctbFeEp6AVe5m5xrs7K30dkzY3SyitEcLJcYJoOMe3Z6dvZqD/9v+Zp+W0f5i9cupQrEd5wK/A8q1mWjh10BBsPlbTLxiUJu+YzuZPSxSC67Bbz592RSyyCWAjNzvoBbJPmMU0a0B+VN5SUYHgbky7e9Gy2WyGlSrakPYiapqoEk5b+u/VjOlRWXDosYZiK2az0MXcrQpAZpOxgm+J6z5K/jM/r/Y2XMiArgp9LS6kh/2O+WRDXKuRlsGzHogYQWBY1+UPJ29skHNXQjRvBPYNP3/haRf+WTbGeFypo26FhXrkz6bIdAUYXxft6J8q8hX4Z3V39NuK5KcDWgyiksgLQQbDs/8O219TxNw8f3MGEU0; 4:PlROoKMG3WynExIYGOhDZ3cCAQdk/DddY7VxwgVztW6go3pHb/zLKoeUD5txBKfPbJVLvqqQwDsaNpmQEGFPpQbkkz3F3fKdW3tQWavrEbvtUX6fB3q4LzzI7RtvSDqoKtpPwodjJPiobntt7QHLaHcWulVP7pu53soXr2bJjpgR6R5TC5kDWQmDj6dL4G1IL2Pj57o1qDcff9F0AKKnhZQu6QSMdHGOKc0JlHYPZlDcBsNZHrX1/o9lmxS4ivBmpOIh1Y/zQ9+1qKsc8VC+X5cZoEVrxxZdMq3LOK4jXVo= BY2FFO11HUB027: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(3002001); SRVR:BY2FFO11HUB027; BCL:0; PCL:0; RULEID:; SRVR:BY2FFO11HUB027; X-Forefront-PRVS: 06339BAE63 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2FFO11HUB027; 23:0Ps5W/HIpmQe6By6S+b2EtOokrf3dbGjRusW+kCv?= =?us-ascii?Q?MSWsCcaSuBzUgCrj0iS3azPoNtfZrAO1YWuXtvijIL0yG3lfQiLbg7MD+ufy?= =?us-ascii?Q?wh00nB89uOn8GgRqDVP80Al/hUWj8XzQ8uzv5+XQ2ZDW8SgfjKrxVjUthHsx?= =?us-ascii?Q?cECwl6moYHbP38zY/CMJYuUZSCJvMnl7h73i0O/3zTWSoda8aONkIhPbrJFj?= =?us-ascii?Q?kOK20V5v6qImRt6csmtpT/tS0kIqLigXag1WiLp6msbR7kSmvMS+GwmSOn6f?= =?us-ascii?Q?VmX62kdbFcgqwz/xn/YpdSCJLB8E4pVMQ4qxx7BM9utqKx3Fdm9+ig7T4CGU?= =?us-ascii?Q?54/zYWmaKxFF5UURTGQ/nSXb9GENUZdn2vHs+or4c33A5MrhI5ZiwwfCvz8c?= =?us-ascii?Q?veiIBJo0dQ7Y++JcSEH1i22sUcNQNchTY7GU5XqQN2SWIada/5BoI0MT5t26?= =?us-ascii?Q?d75LBYGMpHQnZr9FsmFSEAJNEt9sO3RDvK9kvF8F0AlPoCm/S8PMWLixLGNk?= =?us-ascii?Q?FzerwYfv+F/2yvXH9djPMRymXR64qwVwLJheS93FE/UDiNmUw6kDwUBIqRFb?= =?us-ascii?Q?AolSlNMhc0TrAqNagK23xPTDT6obsJZ3mqfzj9DRgE/ymp7pFQ+DCgQRFK1y?= =?us-ascii?Q?APK0KhOTILbO8uxZXRLhF2fnhMvqaz1av9eJYdDqJBnjeSvNbFQzAVBh3bmu?= =?us-ascii?Q?bEEy5qLBadd95+virIegQMbhz4X97CzJMQhah91eQcbrmP6n2D+/q9Sgbj79?= =?us-ascii?Q?CD3c8pnHoV2AMKva/NHdccX8IKf3Sxi+BffldHaXCVMIkIfRjARn7B/SzwFu?= =?us-ascii?Q?wCmyd6ESflA6HToiOCQLLahHFwjzVT78iVlnBsJ7/Yc0yIH76Bglp3iq+3H1?= =?us-ascii?Q?YgceENDX1ca5xBsURV4mDTHYvZtZprhZOTSZ52O7DOcIxj8/R2QeAJdhedWz?= =?us-ascii?Q?Ux/2CVJtM6/EC36v2tl0iRbvUFPtoAmgPl38xW9/Rg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11HUB027; 5:yMNr2j4hkADoWmiP8eRo9fJ6p8Ar5YZmmOHkCH7KEtMwLziaDQsWKi+OaZVkyeTkRdiMtz8WhJL1FknDti5CngEWE1fjk4+BwftSgviZOaSWe0Kd1x8wqlb9t9B/s4EV7p0A4yO6Iz8SnFnpHJ871w==; 24:mUGgi2wGHfQeZUG0F3BIPtwL47K9AyDtuS5EmCdMJ4hTHgNreB53jE2tEWSGcm2MaN30thn5xuSLEByduOePAcjxE+UMVWYNn6VK89OXHHo= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2015 18:11:39.7431 (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.96]; Helo=[xsj-tvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2FFO11HUB027 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 X-Received-From: 157.56.111.82 Cc: peter.maydell@linaro.org, peter.crosthwaite@xilinx.com, alistair.francis@xilinx.com Subject: [Qemu-devel] [PATCH v1 1/1] xlnx-zynqmp: Connect the four OCM banks X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org The Xilinx EP108 has four separate OCM banks which are located adjacent to each other. This patch adds the four banks to the ZynqMP SoC. Signed-off-by: Alistair Francis --- hw/arm/xlnx-zynqmp.c | 13 +++++++++++++ include/hw/arm/xlnx-zynqmp.h | 6 ++++++ 2 files changed, 19 insertions(+), 0 deletions(-) diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index 5e72078..a8edff0 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -98,9 +98,22 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp) MemoryRegion *system_memory = get_system_memory(); uint8_t i; const char *boot_cpu = s->boot_cpu ? s->boot_cpu : "apu-cpu[0]"; + char ocm_name[25]; qemu_irq gic_spi[GIC_NUM_SPI_INTR]; Error *err = NULL; + /* Create the four OCM banks */ + for (i = 0; i < XLNX_ZYNQMP_NUM_OCM_BANKS; i++) { + sprintf(ocm_name, "zynqmp.ocm_ram_bank_%d", i); + memory_region_init_ram(&s->ocm_ram[i], NULL, ocm_name, + XLNX_ZYNQMP_OCM_RAM_SIZE, &error_abort); + vmstate_register_ram_global(&s->ocm_ram[i]); + memory_region_add_subregion(get_system_memory(), + XLNX_ZYNQMP_OCM_RAM_0_ADDRESS + + i * XLNX_ZYNQMP_OCM_RAM_SIZE, + &s->ocm_ram[i]); + } + qdev_prop_set_uint32(DEVICE(&s->gic), "num-irq", GIC_NUM_SPI_INTR + 32); qdev_prop_set_uint32(DEVICE(&s->gic), "revision", 2); qdev_prop_set_uint32(DEVICE(&s->gic), "num-cpu", XLNX_ZYNQMP_NUM_APU_CPUS); diff --git a/include/hw/arm/xlnx-zynqmp.h b/include/hw/arm/xlnx-zynqmp.h index c379632..6ccb57b 100644 --- a/include/hw/arm/xlnx-zynqmp.h +++ b/include/hw/arm/xlnx-zynqmp.h @@ -32,6 +32,10 @@ #define XLNX_ZYNQMP_NUM_GEMS 4 #define XLNX_ZYNQMP_NUM_UARTS 2 +#define XLNX_ZYNQMP_NUM_OCM_BANKS 4 +#define XLNX_ZYNQMP_OCM_RAM_0_ADDRESS 0xFFFC0000 +#define XLNX_ZYNQMP_OCM_RAM_SIZE 0x10000 + #define XLNX_ZYNQMP_GIC_REGIONS 2 /* ZynqMP maps the ARM GIC regions (GICC, GICD ...) at consecutive 64k offsets @@ -52,6 +56,8 @@ typedef struct XlnxZynqMPState { ARMCPU rpu_cpu[XLNX_ZYNQMP_NUM_RPU_CPUS]; GICState gic; MemoryRegion gic_mr[XLNX_ZYNQMP_GIC_REGIONS][XLNX_ZYNQMP_GIC_ALIASES]; + MemoryRegion ocm_ram[XLNX_ZYNQMP_NUM_OCM_BANKS]; + CadenceGEMState gem[XLNX_ZYNQMP_NUM_GEMS]; CadenceUARTState uart[XLNX_ZYNQMP_NUM_UARTS];