From patchwork Fri Jun 29 17:22:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 937042 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; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="ltfHac/F"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="RxHbFB+a"; 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 41HNlX73mzz9ryk for ; Sat, 30 Jun 2018 03:23:19 +1000 (AEST) Received: from localhost ([::1]:43661 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx73-00045Q-6j for incoming@patchwork.ozlabs.org; Fri, 29 Jun 2018 13:23:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42154) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx6R-00044y-LT for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYx6N-0003Kr-LS for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:35 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:54503) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYx6N-0003Hx-6j for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530292951; x=1561828951; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=QWL4sg+r8fWzmU9vqIsxhgM+Zr3dXrL5AYq6SnOvmdg=; b=ltfHac/FOj3VfaisgXAbL7eo0VARFXookVA1Q9FDoCNdXfsBCBwGhnAE /ixpfP7txBBYx46o76ORAO2TtZ00q3ljXx3R/oq00HoFUDslhr2uid7sL uDge4DQ8kn7P7tCD1GcRopMW7633o7VQTv6yiLpmfp4HjWMX3uNGE8jNi Vy47ytz4xo74Kbk3lHo7ICqOY1ACbpjdWvbIrRDERhT4/FV57SQSa17CH fofDrV+NdHnxbMM0v5vJ5yDZ3p6EBEk2WsAslCBNwfw0wCvnb0ujKDUic qoKrCPUS5HmMQDF3x5ryyWEbRU8AF6FA0syrRDFTB2QjybfLLCkIVr1vg A==; X-IronPort-AV: E=Sophos;i="5.51,286,1526313600"; d="scan'208";a="82461894" Received: from mail-co1nam04lp0055.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([216.32.181.55]) by ob1.hgst.iphmx.com with ESMTP; 30 Jun 2018 01:22:28 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iugC6atpqNXUgJ3fkZK/Wb6KKkWCQNtCqQ1n8ExRzaY=; b=RxHbFB+aNdbDD7tKyZ2s6Ou72mcjkS4HDRakywlSZ1q25jyAUp7mVoOeL3u3EqBGn8Gs0xXXJEkXEvNqrkzJ1RPZszQJFGjYpucLaZ7QZg67wEYLU0pJ4NSKm3bP2XdGKktQNxCJqYQko+f8mWl/xEWuNNQiqhaxKMsk1/ktDiI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Fri, 29 Jun 2018 17:22:26 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Fri, 29 Jun 2018 10:22:09 -0700 Message-Id: <20180629172215.29475-2-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629172215.29475-1-alistair.francis@wdc.com> References: <20180629172215.29475-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR03CA0029.namprd03.prod.outlook.com (2603:10b6:a02:a8::42) To CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 634cf80d-f74e-4af8-4b5a-08d5dde4e2e1 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0391; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 3:lcn5gR3cVhva5qryFEEOnunLIPQ9WI4x5EB5HMut7OUR2b2VVmLBbOM2CRqbkUw4oRTAisCz1Z6ag6XJKP2NyoSyBVvMofc5xa/HSuLqIuojqzh1uLEqu9EJ+CM9z/ZlyQIl7d8ByJ3vflkon3QC6WiW2PIwDm5J+YpEpz+UrvZ24Lu1tfX2LF4Spowly2bWvYadNwq1zW7Pov04b2idykcZgkAOn1Rv9d7vGMRQhEPELDkv5rYzzhCl/CtruYrn; 25:6rc/+qHaEGDvIh6dHJbrtWk/btGU/uvJCg6kmVfOCPw4riSxRyS5/MktjBTZcvvhHmDE15qpDyz8GxpSIP2OdUhxpBJZIojkOGvjp2uJLxtnwwzCzI0snkwW4kr1kA04ypkbV6y4uyZhx2mN+VgdGB29dClwg9EW4hqsBxMIuIaFYihvq+ClXLHtTwdE1d2xVqKbXE/+H0n40Kj2INwC3CIwroUDSPR5iLzTnyEIjZGtKg/+WirOdstbaq73nn37rC004yqQOgPqLiBxFkTygzeUPkOI+2y06MwlBm1mR2JipNGROoXxDRuAKH911wmMLdqTT14i19U5tjHMd+jOuQ==; 31:N94ht+ekjwcAQTdcU0ltbJ2tO4FpPA5a44qrdg4+6bRwRE9eikXCmfqsZwj5mKeFmxaY9rQhhnNNBtMuxKD0T9XBFuN7RAa55ceau42/MxlJXSfyASQgcZLb5WDwMJr3ZV4EafpfNbI+QUejKGW4+OOnkSSKLoVseDiuJmG8Nd2ApNZd4tKUk2zkQFsWRfBNoX/rmrGCrYjgESkjYbwDrbF0GTrAtvT7Z3xULWdA1DA= X-MS-TrafficTypeDiagnostic: CY4PR04MB0391: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 20:6/kW/Ln5C4P1tcz5jIVx/V8eJWkr17jhbUAL/k6wNqNSlJu/CanayaGRd0Ag9t7iCVlZhCbSRT+0JnR3rdhCNLfU2R0gAW2pIs/Yw2kZ3QT6ez8ExTr1LEHyK+yTwOFXqzuxbXPh7zay9O0kht7Lp5ew7painj0vwcN8nNBNYwi8Y9PU9HOkDmRmV+SfdH6wiwQs8KF802nrEaFe/1IPnufQSJdqFZn5ghc2U46jQUZ9Ks6xpSX2SW5U/q7ciKPMV+wukwmebhpAgpVynktx7EDvw/tXOy+G//5Woav2FSYDI0cMBGn7X9GtdRK/XktrhFEPUp0iSF3S8UrxvOleCu3x3Ylv7VYkMHYeFkJn1Mh/8xvtm/DH943ttO2V+/NR748n/29C2lK0bTnloIkZIzW7Bwto3cZ6Bl1OBPJ4bGQUqAGX+m3y4JK0cT2foJRCnkenwfn4hrJeZ/baCPJXajXbRdjlPOO/N1REbZLFqermgP7QH5IZAGnuu0289c/U; 4:VO2HoUOtvqAz6uFWn25QJUowah5MhbQJd40RXACcC/Fukf33mbwCmQ9N2F35Biz3faSA1Fz5SQD/J2fAovxpgs1HomuPfA+/ILQfaAR6opH6I6e4OBpOBLNvpWOYp/YE8cOg4+36sweu6uxUY/NPUJXwOwkomoxtZ/re5p5oA6Q6GF0xm7wO5q3GjDbyuibAo4P20b7H7kwyndUdUusjVUOqPG0F6b2EofXrghozYW5sVeCzJajXVrJwYmpdw2BgR2qVWaV/2pKqftkrlLYp/A== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:CY4PR04MB0391; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0391; X-Forefront-PRVS: 0718908305 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6029001)(136003)(39860400002)(366004)(346002)(396003)(376002)(199004)(189003)(446003)(16526019)(186003)(956004)(11346002)(26005)(2616005)(36756003)(39060400002)(72206003)(50226002)(316002)(4326008)(25786009)(44832011)(486006)(476003)(8936002)(48376002)(3846002)(6116002)(50466002)(68736007)(2906002)(105586002)(106356001)(478600001)(66066001)(53936002)(51416003)(52116002)(76176011)(305945005)(97736004)(6486002)(16586007)(386003)(47776003)(6506007)(1076002)(5660300001)(6512007)(6666003)(81156014)(8676002)(81166006)(86362001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0391; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR04MB0391; 23:UdQ53rqXfHrKUnhUV2shC6hjU6IJRH5M8I8eyWckG?= 2z1quNAdCya1MB2OdFFISJ7g0/MQXCDlz4NmMNgiBMX9wkm7/e0og6y7DD+i9K4GzIc1V0sI7t11xpdIrlgFzSzrvn6PvOtU1sL14GqrHO6Qo+v9pQnHGdOZ9gdBC/CGoR8HpxRi8tS8hr8R8eenKqknCc08qkZdE4HoHLM1qYU5K+oypiyw9IfUp8noBi6uFIMQyyWyDrCHXQAU5u4hNs9sfxwwyOY7XYyoqI5dqMdMfCO8/S760paYw3q7JS/7ngoRlZHr9Aun2cT6jKTv7ePRZlLL2P8DLFqeDGJbOT9o0noXCcbW/6f3hcWhl4AwXH3Y7dN/8NrNfnJ/tUIPlvATLM8AC3HMOltHEaGQOb7qsAaXf2juAoR16z2RGdBrWuFAFf9G6lR2duh3l4WJfp9raynhC/K4VhJyhJOQAHb2uBAKaPmj9WB3h8pIrXRtpYO/utefvWWRpC9B8uB3adT97QZuPtW13qcB98+iK8+moiQgfiu42WqlBxyGczXkscZ1I/4+FB4SuFO3j4zQkx4zsWPt9LTriT7clhjd9l5INRMGgV1dzcE7DyMjyOkpZJF8EpxZe3Bg/Ut2YyVh4J2T58InJlV76dNOkMVQQ8Ica1j4uNDLmo23njMc4S8PI/yMWSOCCjyfWJOVowXbVvwGRxsT38q4OX3EbFMtHvtnBw1KuKJsrlLB3HsDiDbAIKuZFP32MuaMN3/f7YipyGUU/4KKSQr1vkt4XCk7kI2QRvasLCQ401Fz9m0DOd2iICF8wu+LgeqISJCm526EX+ClIsd2ndmgalnsRtKyEYeJ735a7cexdZw3A/GxZ7gIVEKUoTWSA0/yvVDYYW4D1bSdgm1ivKOWgAuHT4tcgZEOLAXy7V1vamxRZ7xHIJCRkDHdpNbS1KY9eCvCH2wRzCe/KUIKOJEs2EjetWWlLZHsicAovftwBrQphHwmAt9qM2DcmW3lQilVgfO8r9chRuhWf+bTa294dRPcw6QzIPM6Vh+WAkHzzidY0V9MVhQqHASKg9W6FhmhdksRVbmSwRqVUlSvYeuCa+X5HkpmyY3zwGCIBXeH1bX/PgnKcAj/peIfj2S/5sJkrXKsQ7BuO3QIriz8XaZavUrueev/nI9mVFhic+X7HWjTYoyzCrtFbq15IW9OefsezZfJs1ADNgLeYa2DcqRQLSDCsVz8FKQYXwtDSVI9//UB9iyBITliLU= X-Microsoft-Antispam-Message-Info: 8Xhxy/oWE+lmX9atP+psmMhjLKpXUKzcSXiIVQIOjJqkQgHY7y668Ytog+1n7A26RbLF2rNZbBHdQdZB1ByjYKVf40w8w+BDigWtg2rFnFCgOWQGWUSvqbq6X+p9FZ8L/0nQjhHtAYKFaJ4goNng8pY9Rx4YBpYOsnIwP9JO0Bg/VjHIJI5P6/Hys5gxBis8Z8Yw6rl2lj7iJr/R85ARthvwfdIZTmRxme7usM255LXUSi6u4W9KSePFApTVDCzdTGqRUx3TzRgk19awi5cHmSTczM0zZnE4L7GphIIBOozswaXNZjCjMnTsXjadH9F8zW/XO6jIGOX3Jd7HevsxpRUDH4GPS767xl6Wo4baJDs= X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 6:lT1yy/D6kkgs5GX2ApeydNVV4INDaPxnzdptGprH6i9K/B+YlpX108yPh3Y4CdyUMVF/YkhTk98ZQjJJoHtdjK40Z/pwN2iObEIFTBx/+LvNoLdFg1VTvczB9V6ZpjObjvV8sDYuqDeYS34/Fd6BtQo0j2wUZn1QjHsGu+bfjLEkB2uKROqrZxC3mpg1y0a++uWr0IdPdMbUEo8KJZ3/8vSsmObNXVDqKP/RtrSCkGXaqOkWShHdRkanozgFQ7OF2vmStkKYceODB/otS0iKcJkzG5z/9aVJtDD7+ryfa2MtFY5LgGiiG8+GVslv6zVWYk42fpxeJoVEz8Mai/VRyXwR9jCWRCMjdCHb+n4GQvNMtjUZGU17GgE+6NzBwFNR/q27yJudTJSYZitn7Cs/gJcPvo80CPw6HX6YCQ6cm3mPvbrNTV1UIxTTQW75MXCeQisc4swc7WKnR9Kq/WTE5Q==; 5:LxpCPypEVNOLjJk2/NgQkKVag/ETWOMBXXM+VaYYL/p7nU6r5RvpbLQVzRCZmV2rfS3aQSrv6pVWhiZlq0GXam5NBb9DSBcxRuRMrmtXDv3ZZ7MCouvcjIc34Hx/CCjizSW07MB8jnI5M/ta8R64EW5/C/0UJtqQXIOP5jLReQA=; 24:9IG4zYVB4L/i7S6Y5owkmHqEezuPPnmI2vV3ZeSxk0D2fxnqCMU39zst6e8SnxmwuDzTlmNv1n1o/kqb4Vhyaq5lf9qUoouwvbfYqWf7UsI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 7:iLyBLS3mYa1A0akK2EqX1nN1cyYcrLs3txZ2WpkCcX0UH/gK4DPvFDfVeqCu0v2w9ubsoMephmZQLw8pc4Mvtslfh3YPJNMOLJiD/HjjFGXleg/5EwjNWT3pniVJZAJBw/Li2QVSkqj4TZiA8zu8tWiUp9fG+A7o6s7uvypuCKg4RjYkeTdX0oHDSdAdzwTTXGCIQYUeoLLW9+MRDHsqrFoB/zWWDD83oynU+MiteM/RshvaL4ON/iav2MnC8Qiz; 20:2yHQOMk1cqYkkBT8sCeCJIZUYFnY7IY+BIwVFMevg2WKe/rpLqDw0dFwvcB1AIzZn+aGyEbT3ybPakXQleOV4lHPBurRZrKLuiB887ceLFc3UReZ4QgJTOljZTKVIEgsD0VhImtcV7KbeJCgUe1jhq1AVZRtRyeatJtMY+rc3OA= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2018 17:22:26.8718 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 634cf80d-f74e-4af8-4b5a-08d5dde4e2e1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0391 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PULL v2 1/7] hw/riscv/sifive_u: Create a SiFive U SoC object 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: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Create a SiFive Unleashed U54 SoC and use that in the sifive_u machine. We leave the SoC, RAM, device tree and reset/fdt loading as part of the machine. All the other device creation has been moved to the SoC. Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_u.c | 90 ++++++++++++++++++++++++++++--------- include/hw/riscv/sifive_u.h | 16 ++++++- 2 files changed, 82 insertions(+), 24 deletions(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index c05dcbba95..45b6aeb36b 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -116,10 +116,10 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, qemu_fdt_setprop_cell(fdt, "/cpus", "#size-cells", 0x0); qemu_fdt_setprop_cell(fdt, "/cpus", "#address-cells", 0x1); - for (cpu = s->soc.num_harts - 1; cpu >= 0; cpu--) { + for (cpu = s->soc.cpus.num_harts - 1; cpu >= 0; cpu--) { nodename = g_strdup_printf("/cpus/cpu@%d", cpu); char *intc = g_strdup_printf("/cpus/cpu@%d/interrupt-controller", cpu); - char *isa = riscv_isa_string(&s->soc.harts[cpu]); + char *isa = riscv_isa_string(&s->soc.cpus.harts[cpu]); qemu_fdt_add_subnode(fdt, nodename); qemu_fdt_setprop_cell(fdt, nodename, "clock-frequency", SIFIVE_U_CLOCK_FREQ); @@ -140,8 +140,8 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, g_free(nodename); } - cells = g_new0(uint32_t, s->soc.num_harts * 4); - for (cpu = 0; cpu < s->soc.num_harts; cpu++) { + cells = g_new0(uint32_t, s->soc.cpus.num_harts * 4); + for (cpu = 0; cpu < s->soc.cpus.num_harts; cpu++) { nodename = g_strdup_printf("/cpus/cpu@%d/interrupt-controller", cpu); uint32_t intc_phandle = qemu_fdt_get_phandle(fdt, nodename); @@ -159,12 +159,12 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, 0x0, memmap[SIFIVE_U_CLINT].base, 0x0, memmap[SIFIVE_U_CLINT].size); qemu_fdt_setprop(fdt, nodename, "interrupts-extended", - cells, s->soc.num_harts * sizeof(uint32_t) * 4); + cells, s->soc.cpus.num_harts * sizeof(uint32_t) * 4); g_free(cells); g_free(nodename); - cells = g_new0(uint32_t, s->soc.num_harts * 4); - for (cpu = 0; cpu < s->soc.num_harts; cpu++) { + cells = g_new0(uint32_t, s->soc.cpus.num_harts * 4); + for (cpu = 0; cpu < s->soc.cpus.num_harts; cpu++) { nodename = g_strdup_printf("/cpus/cpu@%d/interrupt-controller", cpu); uint32_t intc_phandle = qemu_fdt_get_phandle(fdt, nodename); @@ -181,7 +181,7 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, qemu_fdt_setprop_string(fdt, nodename, "compatible", "riscv,plic0"); qemu_fdt_setprop(fdt, nodename, "interrupt-controller", NULL, 0); qemu_fdt_setprop(fdt, nodename, "interrupts-extended", - cells, s->soc.num_harts * sizeof(uint32_t) * 4); + cells, s->soc.cpus.num_harts * sizeof(uint32_t) * 4); qemu_fdt_setprop_cells(fdt, nodename, "reg", 0x0, memmap[SIFIVE_U_PLIC].base, 0x0, memmap[SIFIVE_U_PLIC].size); @@ -217,17 +217,12 @@ static void riscv_sifive_u_init(MachineState *machine) SiFiveUState *s = g_new0(SiFiveUState, 1); MemoryRegion *system_memory = get_system_memory(); MemoryRegion *main_mem = g_new(MemoryRegion, 1); - MemoryRegion *mask_rom = g_new(MemoryRegion, 1); int i; - /* Initialize SOC */ - object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_HART_ARRAY); + /* Initialize SoC */ + object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_U_SOC); object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc), &error_abort); - object_property_set_str(OBJECT(&s->soc), SIFIVE_U_CPU, "cpu-type", - &error_abort); - object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts", - &error_abort); object_property_set_bool(OBJECT(&s->soc), true, "realized", &error_abort); @@ -235,17 +230,11 @@ static void riscv_sifive_u_init(MachineState *machine) memory_region_init_ram(main_mem, NULL, "riscv.sifive.u.ram", machine->ram_size, &error_fatal); memory_region_add_subregion(system_memory, memmap[SIFIVE_U_DRAM].base, - main_mem); + main_mem); /* create device tree */ create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline); - /* boot rom */ - memory_region_init_rom(mask_rom, NULL, "riscv.sifive.u.mrom", - memmap[SIFIVE_U_MROM].size, &error_fatal); - memory_region_add_subregion(system_memory, memmap[SIFIVE_U_MROM].base, - mask_rom); - if (machine->kernel_filename) { load_kernel(machine->kernel_filename); } @@ -284,6 +273,39 @@ static void riscv_sifive_u_init(MachineState *machine) rom_add_blob_fixed_as("mrom.fdt", s->fdt, fdt_totalsize(s->fdt), memmap[SIFIVE_U_MROM].base + sizeof(reset_vec), &address_space_memory); +} + +static void riscv_sifive_u_soc_init(Object *obj) +{ + const struct MemmapEntry *memmap = sifive_u_memmap; + + SiFiveUSoCState *s = RISCV_U_SOC(obj); + MemoryRegion *system_memory = get_system_memory(); + MemoryRegion *mask_rom = g_new(MemoryRegion, 1); + + object_initialize(&s->cpus, sizeof(s->cpus), TYPE_RISCV_HART_ARRAY); + object_property_add_child(obj, "cpus", OBJECT(&s->cpus), + &error_abort); + object_property_set_str(OBJECT(&s->cpus), SIFIVE_U_CPU, "cpu-type", + &error_abort); + object_property_set_int(OBJECT(&s->cpus), smp_cpus, "num-harts", + &error_abort); + + /* boot rom */ + memory_region_init_rom(mask_rom, NULL, "riscv.sifive.u.mrom", + memmap[SIFIVE_U_MROM].size, &error_fatal); + memory_region_add_subregion(system_memory, memmap[SIFIVE_U_MROM].base, + mask_rom); +} + +static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) +{ + SiFiveUSoCState *s = RISCV_U_SOC(dev); + const struct MemmapEntry *memmap = sifive_u_memmap; + MemoryRegion *system_memory = get_system_memory(); + + object_property_set_bool(OBJECT(&s->cpus), true, "realized", + &error_abort); /* MMIO */ s->plic = sifive_plic_create(memmap[SIFIVE_U_PLIC].base, @@ -314,3 +336,27 @@ static void riscv_sifive_u_machine_init(MachineClass *mc) } DEFINE_MACHINE("sifive_u", riscv_sifive_u_machine_init) + +static void riscv_sifive_u_soc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = riscv_sifive_u_soc_realize; + /* Reason: Uses serial_hds in realize function, thus can't be used twice */ + dc->user_creatable = false; +} + +static const TypeInfo riscv_sifive_u_soc_type_info = { + .name = TYPE_RISCV_U_SOC, + .parent = TYPE_DEVICE, + .instance_size = sizeof(SiFiveUSoCState), + .instance_init = riscv_sifive_u_soc_init, + .class_init = riscv_sifive_u_soc_class_init, +}; + +static void riscv_sifive_u_soc_register_types(void) +{ + type_register_static(&riscv_sifive_u_soc_type_info); +} + +type_init(riscv_sifive_u_soc_register_types) diff --git a/include/hw/riscv/sifive_u.h b/include/hw/riscv/sifive_u.h index 94a390566e..49f1946539 100644 --- a/include/hw/riscv/sifive_u.h +++ b/include/hw/riscv/sifive_u.h @@ -19,13 +19,25 @@ #ifndef HW_SIFIVE_U_H #define HW_SIFIVE_U_H -typedef struct SiFiveUState { +#define TYPE_RISCV_U_SOC "riscv.sifive.u.soc" +#define RISCV_U_SOC(obj) \ + OBJECT_CHECK(SiFiveUSoCState, (obj), TYPE_RISCV_U_SOC) + +typedef struct SiFiveUSoCState { /*< private >*/ SysBusDevice parent_obj; /*< public >*/ - RISCVHartArrayState soc; + RISCVHartArrayState cpus; DeviceState *plic; +} SiFiveUSoCState; + +typedef struct SiFiveUState { + /*< private >*/ + SysBusDevice parent_obj; + + /*< public >*/ + SiFiveUSoCState soc; void *fdt; int fdt_size; } SiFiveUState; From patchwork Fri Jun 29 17:22:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 937046 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; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="UfrCdizr"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="iIdw4QNf"; 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 41HNq64gSGz9rvt for ; Sat, 30 Jun 2018 03:26:26 +1000 (AEST) Received: from localhost ([::1]:43678 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYxA8-0006ap-AG for incoming@patchwork.ozlabs.org; Fri, 29 Jun 2018 13:26:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42155) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx6R-00044z-Ld for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYx6O-0003Lk-2B for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:35 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:54503) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYx6N-0003Hx-Pz for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530292952; x=1561828952; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=/KuvZZNKysgI2G0BykqNNF2HqGNRfOu3vCQ4mktBpMk=; b=UfrCdizrIalxd7RJsoDkHsED1v9nUfvEzZX/qU01jv5v9aWwGXA6Rbot WQHI6L3j1NUsDHPqbvOE5sY0SJNiX2CuzTaWDSlwkMNmqGSCWB9OICbVK 8AKwH1xavTbtgKd5/N+3bfCizcYiz8paDhyHwSCk+dYegHZgEJ+EvKMrD 2QqCsV3d8CufteYeMwBgaAF2UyT4M28SYlEL8ZBhXIpgU7Swbwp9yJI8s mGWdVaJNqNXgSXcmlcrnjfLt9xll9FjihdxFcIJ8T1DnaSVPGUjenXFBX DU8bsc2cy96cvHA+mgEN3tZHDf2IN9lxnsibE1MgRjwgjrM+K6JhCkiOw w==; X-IronPort-AV: E=Sophos;i="5.51,286,1526313600"; d="scan'208";a="82461896" Received: from mail-co1nam04lp0055.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([216.32.181.55]) by ob1.hgst.iphmx.com with ESMTP; 30 Jun 2018 01:22:29 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P5Fw967ZvfmeSlYWKt4fON/PFEIAr/G0m/eKNUF8F/8=; b=iIdw4QNfTBMUsubM3rF9/MVKp37CjRtQ0BExkopyi0Wya8QtAGWQq1DgM2CSQ/NL8XTgF94xVhtf0E4WkMs+5BPx4BWVewftZK1HIuJw/wS4zZFUjbTYnPuxSavw6HVstmzfxcYtObkQJsd/kcwRyHeqRht7z4EpW83sBWAC92E= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Fri, 29 Jun 2018 17:22:27 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Fri, 29 Jun 2018 10:22:10 -0700 Message-Id: <20180629172215.29475-3-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629172215.29475-1-alistair.francis@wdc.com> References: <20180629172215.29475-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR03CA0029.namprd03.prod.outlook.com (2603:10b6:a02:a8::42) To CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ff31c5df-bbda-45d6-48c2-08d5dde4e35f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0391; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 3:8iBUqU+K3Z5PUG45yln1Smmt5kAqXv2rFbx+XNCv5ay++GXXDoJDzhBvpRyKmxKWyZ196gDZXoF2gNFVQ0h8GMeL3seiNxezXN5g1UBi/TSs3ydhhJ1a/mMjTnbO0fMHzsc20YC/d4HtEjtRZ+jE6yHpYETew6Q3hk4Z+OHilVjx4eCQ9wcmLrm7Z3xKisdeCbtOkSNoHbaukmh2RRu+hKZaRGIV1uG08Eno8YYhvhY7/n1UNt6EsLoj2MlD+K+M; 25:ZAKz0FXA986zRpDmk08ijG0ll6g1TUeSHH/Y5w9Sw4JiNNC9EI3iS/spAWLoWjbprgthKQoBii9P9w2wR7/vYM3qPwIXjkJb6vDkA/Nwi07nNjvLtPH2moQjG3kFyYpZ0LGkR0mBgwbqZK4yUvLV3RUSgpHpxnccyhvqEGD2T9S/rHcWQopzpTtAdHp5/lhaodlhZ10vnwDMHetCUqwt7okKbANboSzRNnIpBczg7R29hf1DVbWHiqWtZIwrTidneQGEYbqmSfN15BikTuSMwnEy/iaMcu37HX/75lK0OXncEhWBKFtjJwLf47FV5huo5wMZxo/+4+wuUeRHwbcypw==; 31:AOZW6v8MgHuyY5DN2E5frIMQhY3EVfVX512JcFtlBSdFQ7kkaTEiegU+mE2O0yU8zQ0OuymRJMJ36bM91Ppa5Zfly8czks7IVX7RJW0FJrj3+CwCRqyzxF5tVh/GyjeOoUIpXzy2VYaJHi/ai8BU9jPDDyFwxHsq3dYRWdWdBrza3S6eg7w4kQyGew9gA1oNywhdsD3h3agTzcppCfbytY2Ta/FMGSAbCqYtcrWrJ0A= X-MS-TrafficTypeDiagnostic: CY4PR04MB0391: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 20:v1zouZjseVocSLxvQZHhnAM+7Hrrp9itvYJ2tD3KUirIWC9Zq6Ii639srEVA7/ORKFbWWSYDh/DOvq1Wc4tFkNKFsfcCt4z108IThiGoRFr/csuJ1W8KdHElKJVL//f/jCTzSyKNM4DSxSufdDAcKRaUW3+JGxO+FTtlBfS2sHfUoc3hq5IysuqSxzDmhyXjpuCFAuJq0AEgUEmCWokH3bCa1/ImqWK1i6bM1aoh4h/Faes2LMBqOurhxh5abk0wTXxA3ChtP29l6PWAoZJfEr1ODv8xCMYJ9WSCMlYbksgjKyWvYrocTaTl3KhY4zk+8Qp5XMseYNnx2gW6sBQY0kQ8DurIcL6sp6A185cackRT9Uztuif80m1Sl/hjh28mBrbiIimrwJGhwZjryJ8+4CvHVwWNApA9BU7qRL5/jUej+SEx7QO75CQ1QwcCfGmiZFZffC34IAYqu3LjFHQdB4o/bQ/lcG7SDhn8M/FYcwutE7yr2Mxf0b3JIx5AqJKM; 4:+sS/L4NAQRGcF0y93SR45WZtWCWSzxW31NpqnL/xTjSsKoXy0m8QCGyti5mH7LVL/TIJ6c23YUMzBGrTtaSA3oFrUBAEkXrG2dO6i+R7qfZzZDr4b8RJOgiynzhmW5D1WpITZeWQirFucB1ViaiSgsSiMPZDIjCr64Fsts17mBf0PGi46RF8uUN+EISAuMfvTGxajZiSOP350EH+238YpGskxomVsknEN+yBZ8WVNaBQwYlLi/Ty5BOKFjIaQkTTjILtr5hC4aCDEy/U3Iu8/A== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:CY4PR04MB0391; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0391; X-Forefront-PRVS: 0718908305 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6029001)(136003)(39860400002)(366004)(346002)(396003)(376002)(199004)(189003)(446003)(16526019)(186003)(956004)(11346002)(26005)(2616005)(36756003)(39060400002)(72206003)(50226002)(316002)(4326008)(25786009)(44832011)(486006)(476003)(8936002)(48376002)(3846002)(6116002)(50466002)(68736007)(2906002)(105586002)(106356001)(478600001)(66066001)(53936002)(51416003)(52116002)(76176011)(305945005)(97736004)(6486002)(16586007)(386003)(47776003)(6506007)(1076002)(5660300001)(6512007)(6666003)(81156014)(8676002)(81166006)(86362001)(7736002)(14444005); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0391; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR04MB0391; 23:YZNqrWmevi8PdZflOv2WOztM5mYcUmIbomXwfvPxt?= KggIka8vMegC4Se5NkXPAzv+4rZRTGw0XQrujlsTX/R7n6Pb/vBB1GmX+ommkweHTwxi9XKqNN6/e+qJwUb+aXuGX0TciubkpkfLzJZi9c2oIsfz0AlEFGrpE3SARSaW7VyV3MXFdJJtb7Q5NsTC1EHovZjZjnYuzXm6BFC30yT9ZDYyPToFHqieaN2fQpywuNAA4PkJ+LoyJ7CYyQtMbqiY93Tc0+AF+ufQfOAqai1036HfUrY5q+l3tidiGSutKswxKjq9NuwSIQI6HphWHiV+BoR5gjLLatmSmmpJJBlg9O+A3wtSfvQEQ1hNN7g75lPIvT5d7oi4erc0kXLyBssCHyt/dXbu8EuLlGomJGUnVllj+1C+wVqYO/KEufvRCdoNHSCkjaqswB6kVg1CFL5z5YB53eO1D1PwFafZYji7M9Ii31jkBTdh0XjCKDyBA8sEQhpIjaUtIvSlTRqiots47Xhns5MbtqkNia0ko75ueBeDl5HcdaBIIaQfxphBaxQzUxnKowtafdG3LJasaLvPw1/cjfkH+/VENDFzZpvDmP5Ri4+8mSj8GKPGWj4FO5N/RiP/2p5WSIEb1KS5i1EqapelC2oEtRmQxGnHhhI8Hm5WWl3amEVgylisbw3cD9I8bddUtxsblP5GLmbZC8ar6vJH4xYWaVudwuzi/U2xwp+bv006eyQrY7Yu2RVzwp0qMvSWdNLa9kM0NLbDJx4J4CAaTChmY+ydleBYKWvMaLdA5ZXcdEC36y2AhnaJQbm55LLkMzNmsS21XM+oslWdpR7hFoprgAIN4rI4li5ggNJrJwdZ6euogApOFMBGrwBPFM6QuNiM9SKKq1+6SGw/siEaKvF8LsluVpGvhLgbB64eg4q35ZPGCe0QbX9dgFGwb2GohFKxEWFhhyBLjPEItq05c6EO9A8Mj6KOV2klrfxLml0Pza+Ju0x5jAGCl2gWknq358Vuo8U7bZcbxqKq6ybpo8ieBsu4cjI99VxqmrpcIRfgmLlP7j5GYqF3fNN9hT7GdWj4EWbuzRxkrtxDbEveYtdBK3o3nkR1I5hHoRbgvW0uxqFDT9wsNHRjXHwyyR3czSNEySELPfwH2vTkJt5S4H9TtgQm5e1T3f9AE76JTXWNP6vCfL65BoVa7+Zer9eMkXRjAlWjtEb4Qw2kNA6EIA6Nn86PD3Bp4xCatSPx4J9ilQAvgHp+/ro8+aoRJICGW1n4wnIGGmvi23p X-Microsoft-Antispam-Message-Info: wmkAVEPc2pIGkurdVDyf7Pw7VfDFZ+RMvKqY+FvsfGPhtT96Wm7oXswxH4UcgI42OZ1TqMRyuTpJaiMvmpDKvN0JtjvqgbL8nwENn27fDrYgSoDR4D/lWWtkarSn33890/aTajR1nWF24tKiuCIVlbcgnizMb6RCnHEljSta72FlR81/CsOvZMpZt4i8t+zVIoFUgifz3RVvL+hlaKbGBFB6vnaBv2Q9J5Gzusn0VZ4qnuExIJABZG9YDomtSrbsnB6KE2zk/uSPLQUOVle2smZB5QK2lHj6bcOE8uaxcUk97VrbWiWKvi4vObp4S/URw32J8O+4lIjZVwJq7kyUwhlXY39IDLW0zGchFQaeHsQ= X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 6:Z4hGbf3FhM1Fub5xiF/tmKwynUNC0qPKlTVxSk5GDqmD05lwVz3jxBMkESPeepPIL5jMrnQ2rQYQ3LgIVd7X9u9RgWTtId90Un3PPT/U0UN5cCSsXF3SUl1B+RAXRXaFE8iZLQHzyus8iLfj6vEeOQpUjG7OqF1FicYJ8F+8mpb+Knz9X7l/d51zwAFWykggUxziCe1cvhhT+jZOxEn89LDIen03biE2flbs/6NFf2LeXqU3sWgf5EuqHyoGqUWxkI3hipmiHAnXgzGoefe8Bf9KMfrSpYYtBhuoMgxKnyJDxK/qAwh7YzmjQCoivsDyGdlJMRBaLAa6hmZDkz5kqhEGE5J39NENO6PhcBdEdautOOLtvKyNmAbpiDsdseq7LtowJt2zvbjQgH52qdOoF6OSXQ/pvqz6bwKx9CsBXx/2D7/UEz7BicP3LeHNOcAmdRwtIcyEmjWog+A2BsIEtg==; 5:KZAPY7MSbDbSG/e5K0n+k5bglo3C1qhU/IVd1RcpPjEr1WjL05zwqotNudxAAoVKpvuNXmLt7R665KvoGMa1xaqO0qVpaPJQENsFqtTot78EL6cZrPEHMOKMiQHhnLMU0lBfYdIkI8kD2a8Vc6tMIwsYajok5wu+1cx0FQ+JhGM=; 24:PSEebRdnd/GU4nFQx1TOX5r2QZj8U5XeEiUnAUAN54CMaTD7LTzn3HhCb7s69TpbNfxIaq5WJO2JeTgm2KnYb3loKkwOvkcI/slvZ88RBuo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 7:HIvQuPuijbgiJCkI8iAtwWH3qkk2YTgrg39VEbqEO80r9TbZD4BG+oXLKwlvr0UodSTTlxTG+HZCWRGdjR0RDHBVODTYveV4t4UuloqQdCr1sXeMijBowfxbsrlNoxB579NrMCo/OjQWM7EP2vDhwKdIqhTF+P0/zD0+3DWpM8j77q279if6fkR5s+iQBUyFVzu3JGW0A+qw+XnSVQFxk0Hf0zQFS04McJNAIehBb35QHNVwNYyBOUP8Vg+AW0Ns; 20:P3bBgecbhdU0gS4ab6H2tLDuMt/KlDtbTdTOj43UZ/hUbllIemoVhQOLT132U5XKPmCNEyF3VZVC8/dQoA3I860rieNF8qlIIj9W6qdVgX81lS6MZHHSaaFK0YNGiaSg7fzLUqppz1Q+5KB7X3g5rVWvtPADbIPWQITbWwV3Bc8= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2018 17:22:27.4543 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ff31c5df-bbda-45d6-48c2-08d5dde4e35f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0391 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PULL v2 2/7] hw/riscv/sifive_e: Create a SiFive E SoC object 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: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_e.c | 97 +++++++++++++++++++++++++++---------- include/hw/riscv/sifive_e.h | 16 +++++- 2 files changed, 86 insertions(+), 27 deletions(-) diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index e4ecb7aa4b..384b456540 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -102,18 +102,12 @@ static void riscv_sifive_e_init(MachineState *machine) SiFiveEState *s = g_new0(SiFiveEState, 1); MemoryRegion *sys_mem = get_system_memory(); MemoryRegion *main_mem = g_new(MemoryRegion, 1); - MemoryRegion *mask_rom = g_new(MemoryRegion, 1); - MemoryRegion *xip_mem = g_new(MemoryRegion, 1); int i; - /* Initialize SOC */ - object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_HART_ARRAY); + /* Initialize SoC */ + object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_E_SOC); object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc), &error_abort); - object_property_set_str(OBJECT(&s->soc), SIFIVE_E_CPU, "cpu-type", - &error_abort); - object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts", - &error_abort); object_property_set_bool(OBJECT(&s->soc), true, "realized", &error_abort); @@ -123,11 +117,57 @@ static void riscv_sifive_e_init(MachineState *machine) memory_region_add_subregion(sys_mem, memmap[SIFIVE_E_DTIM].base, main_mem); + /* Mask ROM reset vector */ + uint32_t reset_vec[2] = { + 0x204002b7, /* 0x1000: lui t0,0x20400 */ + 0x00028067, /* 0x1004: jr t0 */ + }; + + /* copy in the reset vector in little_endian byte order */ + for (i = 0; i < sizeof(reset_vec) >> 2; i++) { + reset_vec[i] = cpu_to_le32(reset_vec[i]); + } + rom_add_blob_fixed_as("mrom.reset", reset_vec, sizeof(reset_vec), + memmap[SIFIVE_E_MROM].base, &address_space_memory); + + if (machine->kernel_filename) { + load_kernel(machine->kernel_filename); + } +} + +static void riscv_sifive_e_soc_init(Object *obj) +{ + const struct MemmapEntry *memmap = sifive_e_memmap; + + SiFiveESoCState *s = RISCV_E_SOC(obj); + MemoryRegion *sys_mem = get_system_memory(); + MemoryRegion *mask_rom = g_new(MemoryRegion, 1); + + object_initialize(&s->cpus, sizeof(s->cpus), TYPE_RISCV_HART_ARRAY); + object_property_add_child(obj, "cpus", OBJECT(&s->cpus), + &error_abort); + object_property_set_str(OBJECT(&s->cpus), SIFIVE_E_CPU, "cpu-type", + &error_abort); + object_property_set_int(OBJECT(&s->cpus), smp_cpus, "num-harts", + &error_abort); + /* Mask ROM */ memory_region_init_rom(mask_rom, NULL, "riscv.sifive.e.mrom", memmap[SIFIVE_E_MROM].size, &error_fatal); memory_region_add_subregion(sys_mem, memmap[SIFIVE_E_MROM].base, mask_rom); +} + +static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) +{ + const struct MemmapEntry *memmap = sifive_e_memmap; + + SiFiveESoCState *s = RISCV_E_SOC(dev); + MemoryRegion *sys_mem = get_system_memory(); + MemoryRegion *xip_mem = g_new(MemoryRegion, 1); + + object_property_set_bool(OBJECT(&s->cpus), true, "realized", + &error_abort); /* MMIO */ s->plic = sifive_plic_create(memmap[SIFIVE_E_PLIC].base, @@ -171,23 +211,6 @@ static void riscv_sifive_e_init(MachineState *machine) memmap[SIFIVE_E_XIP].size, &error_fatal); memory_region_set_readonly(xip_mem, true); memory_region_add_subregion(sys_mem, memmap[SIFIVE_E_XIP].base, xip_mem); - - /* Mask ROM reset vector */ - uint32_t reset_vec[2] = { - 0x204002b7, /* 0x1000: lui t0,0x20400 */ - 0x00028067, /* 0x1004: jr t0 */ - }; - - /* copy in the reset vector in little_endian byte order */ - for (i = 0; i < sizeof(reset_vec) >> 2; i++) { - reset_vec[i] = cpu_to_le32(reset_vec[i]); - } - rom_add_blob_fixed_as("mrom.reset", reset_vec, sizeof(reset_vec), - memmap[SIFIVE_E_MROM].base, &address_space_memory); - - if (machine->kernel_filename) { - load_kernel(machine->kernel_filename); - } } static void riscv_sifive_e_machine_init(MachineClass *mc) @@ -198,3 +221,27 @@ static void riscv_sifive_e_machine_init(MachineClass *mc) } DEFINE_MACHINE("sifive_e", riscv_sifive_e_machine_init) + +static void riscv_sifive_e_soc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = riscv_sifive_e_soc_realize; + /* Reason: Uses serial_hds in realize function, thus can't be used twice */ + dc->user_creatable = false; +} + +static const TypeInfo riscv_sifive_e_soc_type_info = { + .name = TYPE_RISCV_E_SOC, + .parent = TYPE_DEVICE, + .instance_size = sizeof(SiFiveESoCState), + .instance_init = riscv_sifive_e_soc_init, + .class_init = riscv_sifive_e_soc_class_init, +}; + +static void riscv_sifive_e_soc_register_types(void) +{ + type_register_static(&riscv_sifive_e_soc_type_info); +} + +type_init(riscv_sifive_e_soc_register_types) diff --git a/include/hw/riscv/sifive_e.h b/include/hw/riscv/sifive_e.h index 12ad6d2ebb..7b6d8aed96 100644 --- a/include/hw/riscv/sifive_e.h +++ b/include/hw/riscv/sifive_e.h @@ -19,13 +19,25 @@ #ifndef HW_SIFIVE_E_H #define HW_SIFIVE_E_H -typedef struct SiFiveEState { +#define TYPE_RISCV_E_SOC "riscv.sifive.e.soc" +#define RISCV_E_SOC(obj) \ + OBJECT_CHECK(SiFiveESoCState, (obj), TYPE_RISCV_E_SOC) + +typedef struct SiFiveESoCState { /*< private >*/ SysBusDevice parent_obj; /*< public >*/ - RISCVHartArrayState soc; + RISCVHartArrayState cpus; DeviceState *plic; +} SiFiveESoCState; + +typedef struct SiFiveEState { + /*< private >*/ + SysBusDevice parent_obj; + + /*< public >*/ + SiFiveESoCState soc; } SiFiveEState; enum { From patchwork Fri Jun 29 17:22:11 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 937048 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; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="JEaw+Uir"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="JwQY5Of9"; 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 41HNsx70gTz9rvt for ; Sat, 30 Jun 2018 03:28:53 +1000 (AEST) Received: from localhost ([::1]:43693 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYxCV-0000LC-MO for incoming@patchwork.ozlabs.org; Fri, 29 Jun 2018 13:28:51 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx6V-00046J-Bk for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYx6R-0003Qo-3s for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:39 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:54503) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYx6Q-0003Hx-Mj for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530292954; x=1561828954; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8gEMhHVLsIjyP0oUHEoQEjmB+hcyyBtXjII8vdb1Ltg=; b=JEaw+UiruzCpDhkaaYuUmxTizfHXayvzdnerwJei6A7IdTC6qlVkPkG9 jGUw5yW2oM7w6jNENa7WbWBjl5T4Ov+SSlWnbjGGzFrZxiRLbHpKb577S XLTUZeLByRUYd9IhLINYfXSlifKCbFhRYtuESCXsFjQ31yMX39Q+d7ssr nGtg9AsbuoI10Y/ZW2bG5yNT4UIw7AY6C2OJEGxUMnGd107o69ujAhONi A34flP3SZRWsC9vE+3WgCdlzbw8PWTf3pmP/yM2XMM9NQa6SkBkwx4Fq0 Mn1nuNmR2aqPkmAYXIOuNeDOrat5TCdD2OIo1xFU6oi8U7Q43lIUAXLE7 w==; X-IronPort-AV: E=Sophos;i="5.51,286,1526313600"; d="scan'208";a="82461910" Received: from mail-co1nam04lp0051.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([216.32.181.51]) by ob1.hgst.iphmx.com with ESMTP; 30 Jun 2018 01:22:33 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qpe8ck9xUXL2arfH/FEMhjmzmIXfBZAt74s7lxGSEAY=; b=JwQY5Of9Rlg6I7IsR8eqBgcPUEF0QvaNouyqNoJzxJrMrw66HGkYjd6sh6bOrpVjY7JB/bjvlkGsa80Y8Emtf6fzBnjqkA5s1ggFS8d8vIKN38Fz/Npf0ULFivE9xrx9KEfuj2T6yvQsp4y2OEiPtltHWk/ZFoRp7eRRITPkgF0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Fri, 29 Jun 2018 17:22:28 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Fri, 29 Jun 2018 10:22:11 -0700 Message-Id: <20180629172215.29475-4-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629172215.29475-1-alistair.francis@wdc.com> References: <20180629172215.29475-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR03CA0029.namprd03.prod.outlook.com (2603:10b6:a02:a8::42) To CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: deeb90df-40d7-4484-7bd1-08d5dde4e62f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0391; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 3:54BGy3vSesc4LxbbSWqTlSyji0WwfZXJ6tdqZQYhegGdS82itWh229XTdxQk46kGeJkkJwg/erW40a8YpjM1e6ibpbXW0GOcHGwGEBbqK97ud3AKElFdbb72JC470tDRvqaMA2CSXB7/048FeuJIZ/jR0D5i7xFkPRc8N5IHYFWLgKS0wmKDU4vRxB8nUN0zb4SreARyI75kbH9mRs3uE/PmcmDOimvx2cuYmWIjK2tYv4SkUo6vXYTJaq336N++; 25:uF/3AbvVXy+5Vk5eOj/gxgEQrOGbijRI53Z9L3pa68PkQ4Ak1om8HomkBs53tB0NjrqAe77tO+GvZXlfo3RuwzleotijFw+/9vMHZpgqL6FkVKfj+2Hbm45B6kLaXLKIEDSyfuGmvk/rq88j9EpjTiWyMLeF+QJRWsYcXKe6qjIbVAKr/lkTNznOnhuLPVEw03WzU/dF4zBOl+R20cjHZbfUnJklv2yzOR4zmN1Y8mfXsgxe6v1BbRTQwJGLqTdPqbwWB4c0hXCk7jSVLM6s/HEB4TWqAoeBa/umxYnXgURpJFuvdgTckArQv8gzrTgYp+QCxFKro0sPcgAUN2PxXA==; 31:53l8pTacFY/ODkdj9ACZ0kWm0ILD+I6fVKTbGdgWDz+Z7aMBkqrmNnWeQI57qWDzIGUmkjMk8Q+HqwMY7Aca2lkGX8caW2Z+8AnTdTx7OD/iKvRxeu+4drc+nNmQyYUiK9cFKTQ4Uflg+mATsuYcZXw/f0ThzzRIZVOq802gfna5ODA1R/0vz1SRg4ypEN6amKhu+bMY/DM+2hJhZkaCSd3FIBpadzBkOhXrWB3jM0k= X-MS-TrafficTypeDiagnostic: CY4PR04MB0391: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 20:jMCO+lxXljOyu3H3YnkcFZuVGmAqEFC8rVBGDCQzbni6Hke6zMS3AVsJreBE8C0zme5pSWNOxgYGYUG1bTZzukA1H+6VWtIRtDes8Mb6OagsavdXggIm78iYvRuun06ruaRP41eRjMkk8GfbKTDNIq8bvpa/z3NUUxAQ2RptvEOwdQpKg4X6nRhuSe+aKjJFJCVab3m3rTYhhACmpjR8tLqPKsXuq09+pK5+5xBS+jRelmDg7+ZBSPmuo9j8YtwFkDUlus8PV3g5LTAu9wZNMMZZcqoln8v+xwdjwn8zkm0N5bN45x4owYR0YhegKQ42qFt7Qg4sevFtvBTe71X66ckycJs5Y2plERA9PqsIgGFS/NnywvzlqWgTSbck9U6N4olfHtbzueYAgLlMKOVBftSdBNgKDEcmH3apz5hF8fXDt1PVUM81nT+74kiIMVGaqxqRtdcI9W5ezKeVxx+6l3e248FqyjWqXCJuPV1iSa6p+qfr5o9h9RQqfI6hA59D; 4:LFPgU0GwybNnpktQ5bDlgTl12E465zMK5U1Cp/19pfEgm+wVbC3xp8h4e+YU68JpbtVc5o4kaLQIDg1jAg2RMnL4kUFXSyqmejUPLDpKwtKchV0/IYT5Slf6Mydwizdx84g/j90xtcfHVFNi4OtToBWj3FGePZCLyAWccr0Uat7Aa2SRjaAjCIOp9LwpswuYMdM/yrgBST20PymSkLNzV+ef5gqu6EBu6WcdHVbatPPmpR27fqd0dzk6aq/QncNNDPPI2hl6JzvCvTCTyO4dDg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:CY4PR04MB0391; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0391; X-Forefront-PRVS: 0718908305 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(366004)(346002)(396003)(376002)(199004)(189003)(2870700001)(446003)(16526019)(186003)(956004)(11346002)(26005)(2616005)(36756003)(39060400002)(72206003)(50226002)(316002)(4326008)(25786009)(44832011)(486006)(476003)(8936002)(3846002)(6116002)(50466002)(68736007)(2906002)(105586002)(106356001)(478600001)(66066001)(53936002)(52116002)(23676004)(76176011)(305945005)(97736004)(6486002)(386003)(47776003)(6506007)(1076002)(5660300001)(6512007)(6666003)(81156014)(575784001)(8676002)(81166006)(86362001)(7736002)(14444005); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0391; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BCY4PR04MB0391=3B23=3AyVWQ?= =?utf-8?q?z7KxJSvvIWgYunhKSGy9akGWFXzUHdWdybVzO2Jc9807m4spq3Sk+23b?= =?utf-8?q?8vyBSi2xFnFvlnd34yHrJR+gnXTJIHWECPUlf1Gv1xuRMfNkaYFTq8Fo?= =?utf-8?q?k9jvDulHGrp7P+4q5mUi38+j7Iq7dyzupnHUl+B7OOmGGPKrhqG5jcIs?= =?utf-8?q?5FaeoQgsKVwWH0/ibidWskG5RXJ9ExenOBXS0eV+hK75EMI+gkKcfmFC?= =?utf-8?q?G65ZIGna3XirGIVJ0d2wnyzFFLKxdtHxWMp7Nqu2R4jtGkzV3DXIbWVW?= =?utf-8?q?EPECx4/Hn59cox3vKxp+uOpz6377SfYLi/oKZ++wkpvv+BRBUVpxEa4h?= =?utf-8?q?LM/jbW3LWDscwsEd5z8tDj8zPfV50L0/sd6dqLe4BBo8DgzJjabCX/Op?= =?utf-8?q?iDIir9zzcw6pHF0mLS5Anmi1J8Ok99tWNAjAri9FvTFVtG7vvNt8thC6?= =?utf-8?q?qNiYYLKormgV88Dlr4VR3ieR29HG+qEfRw3pvp3CTY3IbdQzI8BGUMS+?= =?utf-8?q?wXKZlq0TB8Xl0UqQiW7VppS9VIzwrR6MubUS+5O/tBUeHBtJhEC1d8Kf?= =?utf-8?q?CCirtapCBQzHLf2W12RQdIKOMVJj5dtSeFAWcKP4GaPjkkJd0qQyNlHb?= =?utf-8?q?p8/AAtk8WgKr6tD+BTbDrYiNujrZSr6eoSQGlpt1ihhzLhdzp/pHA3yf?= =?utf-8?q?j2rVVy8rVFstRa/uuX5Z0WCdZv/8xqszVoW7QB3yB9K1DIbPXfzBtwhe?= =?utf-8?q?l1cpf4Q/EIYjzFGO8mV6+zZA9Jv+/l1XOfOoQej6GLeeiEvQjlW+hF33?= =?utf-8?q?J+n7KhE0+SDxXf/Ejrlz82h8y+zST7HhC53Xz0h4spg0Aa9gUyZQ9lMH?= =?utf-8?q?MfutET6x+ISPXT4xUT+q3rzrnVigVI56O7nBrRpFMp/zmoaarOD869Yl?= =?utf-8?q?sBpFeFnNTzmfJAlvvgD+ANZag95e41PwiRDrRADcvyMX8/1XDAd9v7d2?= =?utf-8?q?E2PBlHNtxLPD95QRmNXfV65U6F6mocu3F4Qm8kxZHDupVdwV8No6DB8F?= =?utf-8?q?fIt/p/JNcjyZqroxBjlQcaODtMBFHT1RkxrKWB1WTxst368ZetqEeozK?= =?utf-8?q?L1ffEio1kn3SJqCIqjy5yjb1U1FMkEaEUcGiVXo1f0BnqhbZCmsFk+Mm?= =?utf-8?q?zU9UMTzBvEvNmhhhfnf/ENRwQIGYo4i0FlYnN/dXWSgVtFTlFK5zZAYt?= =?utf-8?q?Aeq9r4MPFjk+mMD8lIRCGASG++Qar1SsP7UJyZ3Y7+ouPXkcnQ23cNQg?= =?utf-8?q?2gTUK8QVoHkl6lRY09Xa7dviuPmLPWGC+utlR59r+hVq?= X-Microsoft-Antispam-Message-Info: IUZNFs9G/sz/vMses13/Bp+bJiBBuGDGh5xGYP3AUFD7KDUkJy7J4Hz81H9SLOmBpPuaRt659Vg8Uv2q+ZCC+ZJXUiJXTiYULqHhk1EiCm0zAzaLVHjSszFvQTy9tkEyqSA4ClABBGhqdzBQ1Dz66wNoqHJ6EfaoxKoPr0mmeYIXuXnFO49wzGX8ClINpPb1UvsVa+Meg1jIEtPP8cUsFbl6KaOzdTthIukXJKYXaUgJQAvmecPcobGnqCyx0HbT622gA43dI8OrFQ4naZSqW0X2zMFrWjgMVZvuO79+hDVc5gx3K2ffe0KloHPQ2JfvQeb10EP9O39DzDVemjoCDEz9fRg5bKJm0RyBGU4rbTc= X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 6:m+kzgGzQYMupllrXYGZwprFxw/1eSaJP0GkzY3jxgZMov3n2MER3xt6Gxdn09fb2hFdL3EmYxDM/URdlG+meBOh+KdGihpWY+W6oe3VeRGSb9goI1SBDoz8J/BBHWo7aYnvbOSNYWl67c3ds1gtxoTvD+h6A6pwaoEvwKGMjUw7jFphFp9UkVDDH2BheIZHPjENC5WLV5kRU8KScH3W2V1ORl0xJsbMhdbpEbqf6VKPUvWuWp6VzNq6yyi/Der2zHhflTjT1ew9cNDlNGQ1Zmq1royKEwiKR+/NiuCe+GaYiXas3q4c3bSaAjNjn7b+fucz1hr9WLcGrJ98wmQPj6jmzWqcsFsYF4eU5EVlmGde3flPuiOaNoCHi3Q1D/vsaiaBpY1Hi8dO4GD2cQN3w6opYwqI2LnG8o4IVjpLYjPHmM8NbV8s2SD5ZJAjmxO9WthChmBkQxEe87Cd07SeQ1w==; 5:wQL2x4KdJwKNbispT1q8IVmypAK9YFfp42oJaEWvREPfs8NCu2ZU0vkPfFMizUd1WOxsa9wx3U6t+toad40NJ4bvT9T+54Bza+idDVdcvIbC3rqghUSWXCa1/qo6jjlD2VKkTzvUIHXhQ1ev/Gyqu10GkZGkqeuzgpHtW9X4Vzs=; 24:zerzuFVqMyRa2HKs73J2hzGfqUE3O3pXWKT6sN4NeJRX/FiXRyNIoXrPNsa6RvXoju4qhMGc71ssgPZAMMtp2y6x9KPQOCzTecM1/LNbP84= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 7:jXOu3ELXy1SzaLsmpmhD6Ssf+9esq0Gb25LCmnYt1JV3c5saBHQ+zKiJX4AbDhkL1shz+TN0d6Fc6aXDen2IsBbjsa7EzFXl1lV9tGVRmnjBkpXlIbh6i9Nukr6JiU1Xs8WNwBq9+1jJQvN57ajv+RQ/8912ABdEc2bGIgjyKCUUETqgSq6zoA5pASeT0MwaW5jDTVEcT32iRrHQeEDonL0yiwGqkNQKBtcj1bI47nFTqrbgSoJC66G/i7kX/O6q; 20:3Sy3dvIsWybad3o7utPCIwFIIx4Gx/Q/+hUIKvtm6DZmN1Kg3SJWGDNX3lE3rkSa6E51gleHM9cF8Qv1ab741qoT6bpkH5I/uHcFJ8x9KiZcDogiCmHJ7kfatCxv8vjgsN1U9hWgNxUleJme4NiJawPxQEOEAdUiMrjD0rHoW5U= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2018 17:22:28.2500 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: deeb90df-40d7-4484-7bd1-08d5dde4e62f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0391 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PULL v2 3/7] hw/riscv/sifive_plic: Use gpios instead of irqs 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: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Instead of creating the interrupt in lines with qemu_allocate_irq() use qdev_init_gpio_in() as this gives us the ability to use the qdev*gpio*() helpers later on. Signed-off-by: Alistair Francis Suggested-by: Philippe Mathieu-Daudé Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Michael Clark --- hw/riscv/sifive_e.c | 5 +++-- hw/riscv/sifive_plic.c | 6 +----- hw/riscv/sifive_u.c | 5 +++-- hw/riscv/virt.c | 4 ++-- include/hw/riscv/sifive_plic.h | 1 - 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 384b456540..006703163b 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -190,13 +190,14 @@ static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) sifive_mmio_emulate(sys_mem, "riscv.sifive.e.gpio0", memmap[SIFIVE_E_GPIO0].base, memmap[SIFIVE_E_GPIO0].size); sifive_uart_create(sys_mem, memmap[SIFIVE_E_UART0].base, - serial_hd(0), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_E_UART0_IRQ]); + serial_hd(0), qdev_get_gpio_in(DEVICE(s->plic), SIFIVE_E_UART0_IRQ)); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.qspi0", memmap[SIFIVE_E_QSPI0].base, memmap[SIFIVE_E_QSPI0].size); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.pwm0", memmap[SIFIVE_E_PWM0].base, memmap[SIFIVE_E_PWM0].size); /* sifive_uart_create(sys_mem, memmap[SIFIVE_E_UART1].base, - serial_hd(1), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_E_UART1_IRQ]); */ + serial_hd(1), qdev_get_gpio_in(DEVICE(s->plic), + SIFIVE_E_UART1_IRQ)); */ sifive_mmio_emulate(sys_mem, "riscv.sifive.e.qspi1", memmap[SIFIVE_E_QSPI1].base, memmap[SIFIVE_E_QSPI1].size); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.pwm1", diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index 874de2ebaf..a91aeb97ab 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -435,7 +435,6 @@ static void sifive_plic_irq_request(void *opaque, int irq, int level) static void sifive_plic_realize(DeviceState *dev, Error **errp) { SiFivePLICState *plic = SIFIVE_PLIC(dev); - int i; memory_region_init_io(&plic->mmio, OBJECT(dev), &sifive_plic_ops, plic, TYPE_SIFIVE_PLIC, plic->aperture_size); @@ -448,10 +447,7 @@ static void sifive_plic_realize(DeviceState *dev, Error **errp) plic->claimed = g_new0(uint32_t, plic->bitfield_words); plic->enable = g_new0(uint32_t, plic->bitfield_words * plic->num_addrs); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &plic->mmio); - plic->irqs = g_new0(qemu_irq, plic->num_sources + 1); - for (i = 0; i <= plic->num_sources; i++) { - plic->irqs[i] = qemu_allocate_irq(sifive_plic_irq_request, plic, i); - } + qdev_init_gpio_in(dev, sifive_plic_irq_request, plic->num_sources); } static void sifive_plic_class_init(ObjectClass *klass, void *data) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 45b6aeb36b..3883d7ff9c 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -320,9 +320,10 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) SIFIVE_U_PLIC_CONTEXT_STRIDE, memmap[SIFIVE_U_PLIC].size); sifive_uart_create(system_memory, memmap[SIFIVE_U_UART0].base, - serial_hd(0), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_U_UART0_IRQ]); + serial_hd(0), qdev_get_gpio_in(DEVICE(s->plic), SIFIVE_U_UART0_IRQ)); /* sifive_uart_create(system_memory, memmap[SIFIVE_U_UART1].base, - serial_hd(1), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_U_UART1_IRQ]); */ + serial_hd(1), qdev_get_gpio_in(DEVICE(s->plic), + SIFIVE_U_UART1_IRQ)); */ sifive_clint_create(memmap[SIFIVE_U_CLINT].base, memmap[SIFIVE_U_CLINT].size, smp_cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE); diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index ad03113e0f..bdd75722eb 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -379,11 +379,11 @@ static void riscv_virt_board_init(MachineState *machine) for (i = 0; i < VIRTIO_COUNT; i++) { sysbus_create_simple("virtio-mmio", memmap[VIRT_VIRTIO].base + i * memmap[VIRT_VIRTIO].size, - SIFIVE_PLIC(s->plic)->irqs[VIRTIO_IRQ + i]); + qdev_get_gpio_in(DEVICE(s->plic), VIRTIO_IRQ + i)); } serial_mm_init(system_memory, memmap[VIRT_UART0].base, - 0, SIFIVE_PLIC(s->plic)->irqs[UART0_IRQ], 399193, + 0, qdev_get_gpio_in(DEVICE(s->plic), UART0_IRQ), 399193, serial_hd(0), DEVICE_LITTLE_ENDIAN); } diff --git a/include/hw/riscv/sifive_plic.h b/include/hw/riscv/sifive_plic.h index 11a5a98df1..2f2af7e686 100644 --- a/include/hw/riscv/sifive_plic.h +++ b/include/hw/riscv/sifive_plic.h @@ -56,7 +56,6 @@ typedef struct SiFivePLICState { uint32_t *claimed; uint32_t *enable; QemuMutex lock; - qemu_irq *irqs; /* config */ char *hart_config; From patchwork Fri Jun 29 17:22:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 937045 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; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="lq/b/oZ3"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="ZWi0e4W+"; 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 41HNq315ZQz9rvt for ; Sat, 30 Jun 2018 03:26:23 +1000 (AEST) Received: from localhost ([::1]:43676 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYxA4-0006Wm-Jo for incoming@patchwork.ozlabs.org; Fri, 29 Jun 2018 13:26:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42210) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx6V-00046Q-HV for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYx6R-0003RR-K5 for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:39 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:54503) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYx6R-0003Hx-Ae for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530292955; x=1561828955; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=j6vb1k+ihCUbLKB0CBaq6ZBAuh+rST7SIJVGcwdGq2c=; b=lq/b/oZ30IH87itzcpyYuXPmNh9UIeTg5+KoBfb7c9HcUJfJTyxectbI bEpWXavQyGk1nrsfAUEsgDogpl2pXVpcItY9nyt1Ca80iyHAD+9huZvFb tU+0krzcUMPD3u+UA/AOxFZts41cGwUvPapRhoeBnPKIu+beVz46ZVcCM rGunpaRkRhX100fUngc89q6B4FgdXJdH9/BIXB/jbmHnbqkJkzLki8sgL L/Xh0fAaSGMdFyHK8AGmTLmoDHmOeeF10ZeKCUND3DU+qhYRlWy0BGx+2 nW12hPMu0+4BkKVPiKN4TI84bEjz+ybClqTnzFz9Ej1U3VSf82xOxBKrI w==; X-IronPort-AV: E=Sophos;i="5.51,286,1526313600"; d="scan'208";a="82461916" Received: from mail-co1nam04lp0051.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([216.32.181.51]) by ob1.hgst.iphmx.com with ESMTP; 30 Jun 2018 01:22:34 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lhngcJy/Uy4Gt5FC8V9wZOF69X107Ul8AyJGuHA2Iz0=; b=ZWi0e4W+MwFEaLqqxYa5dtyBF2NddWbov7e+sJcA/pxjpdVUAh+iuOL/kQLbvdzinIN4owt6wovEg5xmVrP+UebNhuAFfQNJFdM6hmn0K5A6Oyq1EY/euX2j2kDPHC7thteizAwHbFel9QPbLBf/9MJbCrOoVstiEOxwDK/4uHM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Fri, 29 Jun 2018 17:22:32 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Fri, 29 Jun 2018 10:22:12 -0700 Message-Id: <20180629172215.29475-5-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629172215.29475-1-alistair.francis@wdc.com> References: <20180629172215.29475-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR03CA0029.namprd03.prod.outlook.com (2603:10b6:a02:a8::42) To CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ccd550c1-13b8-41ac-2ad7-08d5dde4e6ad X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0391; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 3:GWxWd+jqJz6b0acFqHgOmlhf9pQ1WAYNyw3k4j5xw3/4FPjJXrhT7lJ+h4Nqn1Ec/Zuu/LsUd4UBzblY4SgTHOiOLdUUaYWCQaKlLVKaAz51esKkc/+ug6cSwsSHuqZNCjak87dKjg+WS7As3e+OHrR6p9E39Z2BSF4kl5ivgpzAG47zCWxu3dozl0TYTsdIbMa5FGXo4krIpHtfNgVcYOLBtWgE4fYfvmRSzksreSFl89Diq/CvTcwJZS45y3n9; 25:vLYpys2IHiM3IPTcc/0aw5nyNXJ1Fx2GtN1nzjyGWmtBrrGR7noxyQcBJS1cH95LVK6yfpNJ2lwAeiZdoRKPaESLbT4ypgj1Z7U0hEDuBu4egAX9xujeygte6vYfJK1tgbYq/no1m5YqfYxWUnTV5GWWDujXxG9dJCYuXy7kFt9JPPIZT/O+Z4izfJowKCvv6jJ3z1ez3juE1STO1iZ8faxczcHExp+XBJiXCPMFr7h5w8lvBm5VqygZarhXa4Z3MDbHJpqQwB5oNSVI/E162We2AXOueuhzAmKjAEzjoIUz/IlWdT1pXLMiL8IXkK0fQY9H6VANMAc+3dOR0PPo7g==; 31:BRtRENqh5fIOyzyxGF4gpUbc6h1zfnR7Mz3PvDWtmbZRyYyYqk4Z+PAlGFLLyxuh1eU+VoOPWMOP0BcnqZg/KYkV2FCXDvSazuU7bulsetC27JEKAzG4SV1kDT8e9NwC+BN6nbqR7QhmDRskSr/qtVnF4UmLuWpbgXBs/Pp9f3vOrtufsvh076JzAX4IYkeGLBqO9mcmEUKNkDhfAFsVnmuEOsNKtWi9ZiTg6pej65o= X-MS-TrafficTypeDiagnostic: CY4PR04MB0391: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 20:WTOgtlABdwiCaeqiv9P2xLJAUDe0uFuyUw4DjTwlDiroACYLVwqa1I5CaYW2WCNI1vKzRP9+hJKxuToqENMv4LG6AKH3+7knJxG1zBfZOnsSjckxEpeRku8olBsJYkSM2ZcqAEiP/ykeI47W3MOUrP8zhsgFGMG4pc6R/AgmQOvS+GL0cbCzf2Bc5YAfTcm5KpOhmr6637aD8sUB7hd2G8j0hKt/RY6V20LWoeassH9RpvSjOIFWjjM2aW9r4VGYe9iCYtz0J83cuwSlQPmHbig6hmlaKrchRyTSj/q1BPOrGB0aIyFGoRmbLA7Vr1RXnMcluIjrRFOte5Zt+df1+71rrjGNJ8R2TjbwIEuKjnLm/wX9ZRZYSK/G3ed3D5TmBXiEXvzm4ZGBi4EgKqSktKP9B82KVizf21uP4nx5fYwUGlTCZOyuXXPAcQZd1D+263sn9s8PqcFtRIY+ksFccOqYJ9oe1fQJxIOJF/ZauxbCU8Ws9gMN1IprTeg5ggAK; 4:6aYAZ6k2Jnk39sGbUCHJ8YNrefAGZ+rgCW0WXWHieI1lnm4LadCQGb7Xfo0kyTtj4KUNtPXL2alZ2RD/1H3gJ99OdmSDnrnSa7IMgKZGnsxhLf8Dv+lhvWJo9GZJ+ZG7v9aJe+4wJerY6NiKCIur+gzioF5Q4dCSUQ/0x/clwt0xpXB0E1Au3Qvf6PdPqWI7Kkh4t4St/vPRiWNnM1bhGh52Z2TwdXCIoR+n0jEucPaO7ojV6Gazj3Xb+O2AFiYYfNO5vkydxziCfqHKedB0Zg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:CY4PR04MB0391; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0391; X-Forefront-PRVS: 0718908305 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(366004)(346002)(396003)(376002)(199004)(189003)(446003)(16526019)(186003)(956004)(11346002)(26005)(2616005)(36756003)(39060400002)(72206003)(50226002)(316002)(4326008)(25786009)(44832011)(486006)(476003)(8936002)(48376002)(3846002)(6116002)(50466002)(68736007)(2906002)(105586002)(106356001)(478600001)(66066001)(53936002)(51416003)(52116002)(76176011)(305945005)(97736004)(6486002)(16586007)(386003)(47776003)(6506007)(1076002)(5660300001)(6512007)(6666003)(81156014)(8676002)(81166006)(86362001)(7736002)(14444005); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0391; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR04MB0391; 23:c0piRqcuF2b/y18fGhZkMPuSKk9Kw02rOociZ9oCF?= IDjbT+9qBXsENRAnTH0mj65DjGUn0XgLOqAPFqW04ONFNxOSrdUpK14colXE3pP4aflDxmDrbBQvm0mwggiPkiQQZXXujtQHgkgr/59C6pgvElq7zNMJL5avJ0bfaCfygOR9czP3Sw/GnwxUT9xZu4wdOUMF8aJzsciUR72znU3ZIwaQkt8Nod79QNHZs2CQYDSyVZ6HzJCCMDRtVAHawWecQ53sgq78NWvczg+8jMqXYJu9QgoDWG1oCLWgaBfAyKFMCn/GUT+2mphK+IIsDQMNqQJ9l46yMH5SjcD1vzZT3foBRFUlJoXU9BQPU5jWMS6voXpb6HEaEsy62VToi+MrnjSGsGRO5XXV4RKPNi2jneBZrCxKeyN9m20tV5Q/Igj3KyoKOtJFLiGfGeCppYwMkzuV0yI9VTt87Bth+TG/cwyaqAGByfarEAiXl8nHGa8gzqyMBjz5/58g86mmoipHdHNUApk0cCPde0kdRn+0wE+TRlUemdKgD+W7PvRdIAc/j8DFFzXH0+Ch3UmApPkxU5F3fWmlNz3BgE+nspEMuhat8oDzwaI9I5S4R3FK/xbpP4+W8jMDmqTnTEf5dxC4XNxB6XAFM32jEDQCZ/xsII7NHfbkVnoucMwVRGxOM3f45qNVy1RMfMzWnye3iXPnXx+0Z0GYlBKsTjT/DK16XLS4apxaR9HAwNSb6+pbGyAapvpZuQZljikksgzTzpXtvrlwR5UtTcxrqOPei6oz+N9KiMj5isHeDvz9kQFwMhBfs35zc5+WGxmig4+wrFvjoZkNsDziCvD6jrNoKwQ9pMdBSKFQk9e3dce9yXq7v+1ES4dYhd4VGKV4PuFnMmODE4fPLRSJHdzjtoEn9QzYgnO2p3QtjvreGEMmLXBHdsTDeOzLRu9cJSAZCb1OXl25i8x7AlfGCp3ZcHgkVZWa9nUj1abbU2Ixxr/fGJboIT5ZOrWBy51B+RomHb/pPuuByR3SwmjWZKhwYO7pqRRR+dlaFB8FLE8DBUSQKlrA9HnRBZfNyf2L7lmMGwkLPXd0EPJ64K9YKR0L5WYo2THMItwqL7yZoJC/rPWRKz6fDpLpA5rZXZQ9sxAtN520sN3J1t5quuGTiUY10s7LMP4bkCLUBw6hyKz6UFGNsuBPl8jRXfvfAmqW2x5VH+gJxUKQGJ7BuRALvrdb4QRpqA3QmPbnO1rB6jzXT9X6L4LAA0= X-Microsoft-Antispam-Message-Info: GN1XuWaJuzRA/5q7wXNKk+96WK6ZBUd0WJHROgiexu9ZteRNs2HtFVy3HbFw/mtfiCmVMMP8m8IbqT4wqwnmhJtxP3poD3wHLyveXpsFZ0lt13EO1R2wq4F/H0z6NB1YS9Jq5eh/i0azHPE9BVzCEJkDBEGsHk9qVhhRHPrL8M8s5EOyu24DvB94uwwpu8e4cTVKCOer0ROg8/ozxg6AKBvQqFbhgGV10d434kDeHmQ7xjfj04AG2ETPzCFbOZf0gdbxytqSpdn7XkospoAhRaJpKYJjMZEgRpT6N6n3InXXeH8YxI5SNYVeWFZUeCvZ8oZfiPj6RYzjSu5E2rYFGeinVqIccsJPpixKmoNqzIE= X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 6:fd8BBQp19K89D/rs4EVQXZZsCSAwxpExaTxNRjBmeR59c09zn9QCVx8ZzF5GRKOn48sz6APIXl8Ej6sggbEQJ61qfDfwMU5CJ5qnTUqoVQCNe5YN08HT13GimzK4WxTSTXSjmMUm/FcNZaYTNLTAr7DvDQ6Vo4F/m3ekmt2L7+owmAbkTs+btcbL52OXjcolhkLQHfR47Ryr66rf4xcTtOKbeX78DwqEWO/agqHiNkDYHZQnJ/8A59pyUVah8hGUydFYETdVNsrDE7+O4CVOMmaYNIcme8tADDj+0EVLYGRcUtZnsHVnNxz1mwKnymte2FFVIhCnCJ5VtKe/ls6Oi/D+hB1d5/fTruKNa+m9NsoYfRzA0eUtel0vxzXhTrkLWCG3SwIkQyBOXi9kpYrLewEB+ALaXH9wTy3XgWprPAuoTF6LOcPsl+KZAvq09noGT/GPCI3D66sxWH0SyOotMQ==; 5:pcsKg9QHQ5HT3xhOhD5oQ7/erukaE/ipSnnwBQVD7pMb2sI6kWafYnruekPZls60qt9jsYd02MnQy2c4ATLPIvqOWciSW/U2QA5Gvc0OdDM2j0eSIkGfH7xFu203hsFpNHc04MwcdCJwmLzyOh9dmixP05O/HRE/R4IYlpspj0M=; 24:h29vy/dkO93aLrtVaOKY2mPzmMxBh06sXjJAvIQ23DNP6CHy8dGKbfU7g9F7MmyDh70Wb8m6krgYFpzibnhfAsPjs8UGTGNXWtCsptchtNc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 7:M5A4l+olLJq1rnK0VC/KkbX64BbShINGrLJ2Z6TW3WkTex0AuprPmzZFQqTdE7KwetehU9xrsEZY/seUpYlUNx750Fy8GYTlsHwnUiMG8RiV9F6CQSv/CTaAfPCuayOx/b+7jiumzq6bPNy7Nrot7p++ovJ5E2KnhoKH2VSLyRoO3tC4SmU09NOrpjzVQ4bGbHP4pWkxqxeKqFSGbetrzrbhnQ46NMDwxeKhhyNvvbkhMENhvcB6TH8zTTtoKGLr; 20:0UO0RUX3Tu9+eO/XosM6Mnm9eCISp5CYFc4vpJZffWLqvhhE5V+eXkFkvzqK5D0+ORTYj48f7QKAqnj/Nhf5uvinAuY4if3AC4qDUJb1xf8PmyVzeLJOFPYyXnNmVNOVPMDDX4tg66rjQMToKVPiyl4P+03rAu1eHkkRukvaTPU= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2018 17:22:32.9338 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ccd550c1-13b8-41ac-2ad7-08d5dde4e6ad X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0391 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PULL v2 4/7] hw/riscv/sifive_u: Set the soc device tree node as a simple-bus 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: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" To allow Linux to ennumerate devices on the /soc/ node set it as a "simple-bus". Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_u.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 3883d7ff9c..f438a72c27 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -97,7 +97,7 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, qemu_fdt_add_subnode(fdt, "/soc"); qemu_fdt_setprop(fdt, "/soc", "ranges", NULL, 0); - qemu_fdt_setprop_string(fdt, "/soc", "compatible", "ucbbar,spike-bare-soc"); + qemu_fdt_setprop_string(fdt, "/soc", "compatible", "simple-bus"); qemu_fdt_setprop_cell(fdt, "/soc", "#size-cells", 0x2); qemu_fdt_setprop_cell(fdt, "/soc", "#address-cells", 0x2); From patchwork Fri Jun 29 17:22:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 937049 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; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="CYsYsNCg"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="Fou0Lm32"; 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 41HNwN3r0mz9rvt for ; Sat, 30 Jun 2018 03:31:00 +1000 (AEST) Received: from localhost ([::1]:43710 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYxEY-00025z-4N for incoming@patchwork.ozlabs.org; Fri, 29 Jun 2018 13:30:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42230) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx6W-00046g-Hc for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYx6S-0003T6-G6 for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:40 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:54503) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYx6S-0003Hx-7s for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530292956; x=1561828956; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=n38QefGu1hzLx5+T2Bh9Ne2r3tsq8YXzW1VuLA+B4+w=; b=CYsYsNCgFun+M4f7y504LkZf7/8ROeRbOEuvJrILF6nNTEe0bGLLmcsW 1+BARS+HlL7Hct2Fnyid7NkU71su6A5ZcSXe1tOBxNfNJ6tRbjLnkSsFR hcSbjbvitQqjHiXvHqp4v0p3+8sTuQAJVk+WdSQBvodjQmDMwVvK8kGif zBigp9EjJHyOOx7hkAavizQBsbhkNKtvvYjRFbDsJqN5JfXnr533SsFYQ tkNymNTt4OLINwHk2sz6p6sYxr8DAbALHtdmxZCyqCjLjI891MRJp7Mux NXpKQymtL0tqza4MkPT64jz+JbCYz81KYgVyDU6n07FRmsllfAz+u6L8W A==; X-IronPort-AV: E=Sophos;i="5.51,286,1526313600"; d="scan'208";a="82461923" Received: from mail-co1nam04lp0047.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([216.32.181.47]) by ob1.hgst.iphmx.com with ESMTP; 30 Jun 2018 01:22:35 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FdGczF+g96spsHOp6St0pkbPsF9+DyEnU0aRI+ASnQg=; b=Fou0Lm32YudRkCEaSaZMJ1DBoZyuNjMwncTzTK+zbWlk4p2BtOO4qMLYi5V/P2OZlKxrorh/Jbe2E0xeZFhpCfZEYj5NsDpmWGriPCLmHLrV63mmXn40iS5uJNmWl2ltqW+E/+oer6DTPYmj5PLR7zOUq4fLj4Xv44LvFEq/7g0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Fri, 29 Jun 2018 17:22:33 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Fri, 29 Jun 2018 10:22:13 -0700 Message-Id: <20180629172215.29475-6-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629172215.29475-1-alistair.francis@wdc.com> References: <20180629172215.29475-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR03CA0029.namprd03.prod.outlook.com (2603:10b6:a02:a8::42) To CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 69906d77-86c3-4a43-4c8b-08d5dde4e722 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0391; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 3:3oGLDzcoT2GNw6lMg0wKgyJHVnMtM3P+C+76TJSOhSqWIUzxs9HkiZScD1ZVb6t1BngtSU9zesxOfjBClBHeQT4T56n7Q9942LmH73tDo+g1bBbcUhJpZMMqNiVwPErZOxG02GVnU7nOs7AWNOhShP9zqSs82ejyofqEkxUwjpTaglNm0seaYurhxVjMdvusze+Q9A56+HuhA2oEpIHOEwS+eSk5Xz1Tb7jH2GZYHLSDQskBkzKMM4otpU0vY3jq; 25:hEp3wEtr+M8DKaigdQtDZ1hFDW19Bq5FuVza8XvkgqtMnG/YNEJFS/JNUvwbztY3QuMaxxiz3jC6D6zieKMe28cAfZlNk6xiPusuO4WLARb/BI5ZD7c+lI6iDcnhLxfJCJDqi1+qFeI1lRwcD+qSXE7xKLonChnhnIw0rhiK7hKUeOXmjKvcer/g8UeA0/4svzaV4rTqBa5W3rthVvP7zNlkkw/W7TRUh4K/hs5BrNIX632ky+UhhQr4P/7xBiZTTM5nfViIcvHU9rKxwFvSxzb5KtbXE63+CF7g1wuXdxjXADpHuGTgbH+cB95OX69g60zXjiKXF3iQ/ppmtFyLdg==; 31:/ZLl01hRO6sPnsuzwUwLfgAd1mhdk7MdrjEJVTQSA2TWVKnK2sY/DS5/ibIQU6JWrKmYShUS+q3Wed4FjckR3R3a5HejXF4aJmn6mFhdsdFrrms7T8egvOGPhjHmXOO6rK2iHorjgL7sxXtTSGyqPLWQPYqRlJUsLiatmc7ZIOgcSmm2qCAdRGygmuis4BmkXYm5vUfSLeHGytwjGbBp0VZHmMTeCru+kHcUOcsUrxs= X-MS-TrafficTypeDiagnostic: CY4PR04MB0391: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 20:sZxsm01A3iP/GztW8zZGjwpEwYuR8YUrh/+eBVtzaEnZKTSP9oFXzv6Ogq26ZT6RXab1930vBUUUBuWMRMNXzUQvDf9NAPKT6H9S74MdRGt8QHwnNphFL0VcC2tYrsJgS/SxM7OuU9PRfqgz8GcifE5wpgS33HdNtF5V0B/DugIweSiqDXVQZdpOPGMD1J+KoNNROrFXG7CDKUMnaQxN4pt9FHU6xvkUpTsinZ8RaoaV5YoZZl3WC8R8LeOXVeuW4L+4rG/rg11nHANK7uj4N9g8Xif5XgTKLBDmSc7i2mg+qXdDhWmXyQ/vFefUOe+2Jt9PJVwZgsPINSIEAVUhT7iTkrgRKc1if/VYQVNi/gdsMl+lHR8joUjIVEirIMzSYabGm94Xn3x4Km/yA5XRHO+31uIdoyz0GNft/r0k9jW2f+M3MXxXKWbTGK6UQwru2oaZFPIEcDdbDxWvreTZYmLgz50Y0Cq+tZIHzljAJ0VDsNG+MsCKFp6brdy5gws0; 4:GiI6v+Iz6QPFQFNgUfBiAtBAfonk8ic/ixoHwH8YMynysd/OcD8GzCYCw7PxCpCw2Ke9BR+DOjJxRx2HocXgfnumejQJ63lEyeNkWt6q6CCJJwC/WzWWMnV8xEj4ckTBp6rBZ34vdOYKyIFfV0TVBUXldBJxcAAsXn7cHqcLmIU7lKieIABan3ogMJFSKKh2ccgfUPitbAbjD/ivrk2DQUBcWOkFw4d/Q33P4j+66P531AUp3nloxsxCk6K1puQX8+0au+vcATub5lQHA4Zl/g== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:CY4PR04MB0391; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0391; X-Forefront-PRVS: 0718908305 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(366004)(346002)(396003)(376002)(199004)(189003)(446003)(16526019)(186003)(956004)(11346002)(26005)(2616005)(36756003)(39060400002)(72206003)(50226002)(316002)(4326008)(25786009)(44832011)(486006)(476003)(8936002)(48376002)(3846002)(6116002)(50466002)(68736007)(2906002)(105586002)(106356001)(478600001)(66066001)(53936002)(51416003)(52116002)(76176011)(305945005)(97736004)(6486002)(16586007)(386003)(47776003)(6506007)(1076002)(5660300001)(6512007)(6666003)(81156014)(8676002)(81166006)(86362001)(7736002)(14444005); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0391; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR04MB0391; 23:06nevJCZugkyKsDbLbq88/6t97SCMtPxe4ajggvHC?= k7k+FC/GMbbPlrOAy3BHLooySNbJPwK9q/KcHeQWGNDL1s3d7cqUGdVPnOw7XAO+s+7/cSD1joGPqLx8XrW28fwiEDD1Df6qWNO/8ILFTa7xYzE1NwYezJ7lL42xpfWJkvX0pVTLqq58eWpuTirMx+SsxBBaniBmyW6G36/JFB1+OeA2DyH3LwfgjGPP27RPVC2tf+LtI5kYK+gVgRVxt3t1GHMLCI2+NaiEPDBGN5oWICdXBHVeIovKtwspQzEsuT3PLZzmmXEf4OscEQHn+lDDSZWzFGbvFvcnAopdoi9CWcMTZG3gLRIBmUdmgnUzTnOw5Nm/BPuacP6Az5G+SxBkv+t9v+fTdlFwCe7v/Iu15w6lWzZimf1rLZOmXG1K0qPhvehNRRKurXMckSEaHPwZjsjKMXpROLK6iDRsICt/vsJVCGqkeM3tS9KF7yJQ2kWDUocApblRALpXNTT1/LhwO29s3Z6uYd3ukxfu512xv6fSR11cxdm5FJb7icHfv4s+f+LOfY9r7WnOiErnnxCJFlfxqJmWu0kwsJWYOSZX3LRx01nbJNcszvD68EOI3PUJZaGczMFAS0eHw3erdGhoPk2PoIb0P8VR7inllEo7NIOYB2fJFyHcPN5AAWZXLYB9kgmTg+7RhnUtnze0aNY//3M/8z3ZI3jiKMf/QIVKQS33X+Sai/rs0FY5Z4336UrN8oHdebvlwsGbKuwb7wq6Jw/gHTXjVTplC9IXem1tTwGQxiLPm2jnwPcqjTcG6vtnOPMgth6RJxmTsjmVUh2RS4xnuHJQe3Vclc8d8Pi4encrWurYvSLPlZOqiIosnjiUM+dh8aYk+5d1e1GesMvdHDPjwxMJ9nnD9UHYJYaNyCX2tKoWx7NarW27ozpM/68FP2Z9iReyJIqh/QInpfyu+IhYR3gfoHvppwzuD67FJJWqSqItic7sHDddHhxUg3hlZT/BAjhjsvgM5KGuCPi16xfGoKNboNQSx+gQYIViwnxAw3rmhnXCxJeKZ7CqPR8CSGr2l/tFYEkw9Dbo+SyIYGONY9fKXae6yy1TBM/4FkCdOoIzZcSW7JWkzyazLexMfsQrD/zcExMRo9w9qLqAloMsiBCLs292+6V3w19HjQ66hz9qYO8T2Ul+fTpN/jFla5gcIvfPNr0EGOfIKtmaaq+o7BDKpfbih4PUJ0j10uPhFbKI7kP5gkWYZ8Vy5Q= X-Microsoft-Antispam-Message-Info: I6bHGwEX6WKzAPtEvbxIYpTw40EswOgsDJq04JO0LSvzznuRUF8BtrdwuN7x7bKiaVR90NxaNa2rsedlMqonVs/ZLRufDttCTEBmIxr2Oe5Wi0Ikpo6eNX7PDjGlNL6OMEUCtRo9Ohl4iGePn4Foln2LNuS9ekoODV1ZP9j2ByQByts0TVq272z6h8+kCxqP+riZTOqPb3QOR0E0dSezNSZq8/xRyhSbqhdLFjGIZMxX/ZJpVHZidH5woa4j8sSyMta1tOcAy6mkFM8pYDPzV9R/xu0xspP8zdtndZ0ewTJU2cWNywTBezU6YausIhemQmz+4dr0AVsNvsJM5kkoLeych2YaffCXKHbuLU1SHzo= X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 6:dJZjdLhIB4MtPux1TPOdR0ejFo2b/s8J76WsdexsPsRgt75MekNlxFLNGwXBs1Y6M+5jsYhgueDH2yJlXhWalvWHoIYnsAJYLsvQNvC/5XqSyls0Bog0keZM2Dn6H6osVTVaH+VWwVv8VarcUXomyvbviJFNYHqkTRJrkFMqJ/B3j72K258tdr7l4qVc9AYN3RuQBT8iQ2tSgfV97CA8dlpe7HAQh+ryH2d3wgZtNXx0K5qO+A8vgNTlm0Llb+0+MTTmFWe9Cg66sdKshq2hEKS7yu/xzFNzNyj46kWfaiMbAvQcmOcxyVataoNYXbVptkKpl1NhN2hn2zMJ2w6tQ9TIcJn4lvrDkW83oQoOLzlSlpvd8QrcwKwZrLfDYy0Qxokutjcn5vVrA5y3g7yo5cpsVpOYpUVsUSnpTGyasa4K69+jclUHnnYmFSqXa6dgBTzQHxqq8VV3ByEnswgV2Q==; 5:Oc3GoQuBXFRGxr3m4M/CUkLOZavRq67jKOUva7uFMIV0cQmLM0b/jlByE+xMbBlzxFxx7991BHNkrE0Dnumd6qvKzIBC22OPvVP7qQbvaIWhek5ohUMmdUhWd0+yjEJNM7ueylVRYlc6fVXqFJCDqB7txeeRIau8i/415VBHebU=; 24:JinZD4TX3fkkDlx8Mgp0A8gM4K2FqcSe0ih9/1PH9nwU+Vczu44adihm40e5UfqlZqnrImeJ/3jzOF8oI7B4D4tO8MRdDc/b0J4IlByO2hg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 7:KbGwuFh6HMJz0QjDg+rtA+iXFDsHaxs0WYIWwAOo75fyMqYYG/wixIAkCf5aK+FBXAnXTO8weovWMXeUTY8hjKMEElSxG8MfhO8yB60tu6dKGex5n7vBjBt5ReGcOoewSTNWIhGUNbRZMRt1vK1B/DDH7gG+tN/1H+Y9PKvpBca80X7+dNlzv1+0WH7bmyMRJdvVFjAJ3UTwrUYGqx4Zn6HcWyKTfRnOpXcRxuKNxpt/YrLtdPLRzik78KyS2Tn6; 20:aG1C3BKo0QArcEd5DUopvyTmWxeVJTtpg31w6XVRtQWW13u7cwGen0081zvYBx8djI2ojUycflKfHlom2AqeF7i+HnXxufw6MiXFnLsxZ6U9TrU7JNBzs/N4jauQCWtUx78kwAGnXGki4UObAsU3hE1O27nHLrxZJRarqBnBST0= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2018 17:22:33.6904 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 69906d77-86c3-4a43-4c8b-08d5dde4e722 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0391 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PULL v2 5/7] hw/riscv/sifive_u: Set the interrupt controler number of interrupts 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: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Set the interrupt-controller ndev to the correct number taken from the HiFive Unleashed board. Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_u.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index f438a72c27..f71527eaff 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -187,7 +187,7 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, 0x0, memmap[SIFIVE_U_PLIC].size); qemu_fdt_setprop_string(fdt, nodename, "reg-names", "control"); qemu_fdt_setprop_cell(fdt, nodename, "riscv,max-priority", 7); - qemu_fdt_setprop_cell(fdt, nodename, "riscv,ndev", 4); + qemu_fdt_setprop_cell(fdt, nodename, "riscv,ndev", 0x35); qemu_fdt_setprop_cells(fdt, nodename, "phandle", 2); qemu_fdt_setprop_cells(fdt, nodename, "linux,phandle", 2); plic_phandle = qemu_fdt_get_phandle(fdt, nodename); From patchwork Fri Jun 29 17:22:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 937044 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; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="Xoa6odBX"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="TWSEIrx6"; 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 41HNlk4T5Cz9ryk for ; Sat, 30 Jun 2018 03:23:30 +1000 (AEST) Received: from localhost ([::1]:43662 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx7I-0004Bl-7W for incoming@patchwork.ozlabs.org; Fri, 29 Jun 2018 13:23:28 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42247) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx6Y-00047K-GW for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYx6U-0003WM-Kh for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:42 -0400 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:49096) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYx6U-0003Uq-78 for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530292958; x=1561828958; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=ITeb9/8S0gESBsNy6CbMdhnty6HWgJlF9cXMBkVvOMc=; b=Xoa6odBX8Q6zIAcjpyq1kxntrzPcvAS13OUwsp5eXgIlnQmdjt7PGtEQ A1T9mBaip7k1BL1BiJFaIFyu6xOsVxSnFBHDSIehfDAjvIjcg+vy+RLQI +4AJR2c5K0BfE2+PSceba3A/A+khqOrjPgARoQU1+cmK0cxziFVvg81c+ fNPDx03upi1T/+NJyROAwMKflV+FwIEuWVB2XKSXh/eZ/BD3bLZBWXJ24 cdJK5ljkZibahyW+Q0LyMVFJzd4EhslZsa7+N9Hgo/vW7tEAc6atQWgfD BpUGpN4xwdgDTAi5mW/7XXnZtIC1wO5J9KwwSYJQA2iZkB512u3zl6fIX A==; X-IronPort-AV: E=Sophos;i="5.51,286,1526313600"; d="scan'208";a="185964618" Received: from mail-by2nam01lp0175.outbound.protection.outlook.com (HELO NAM01-BY2-obe.outbound.protection.outlook.com) ([216.32.181.175]) by ob1.hgst.iphmx.com with ESMTP; 30 Jun 2018 01:22:37 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KB0lsHi1YglslERcaSRcvVlZAOccBgfiyqwuvHUP300=; b=TWSEIrx64R85TbjxsIId6RQAV2ngot7PRKQTA/iz8Eb12SlWhrnsBIDGAUMH/jQQlhBj9fVaHP3i+flxHE31QO0cDgC2nIakgYUQJSgq5bHZC9Ds4mjxzBysbsBPXkaeGE6jraLQCkpVpPyH1mca8vY+0RbZ0qzzYvgVIS05cY4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Fri, 29 Jun 2018 17:22:34 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Fri, 29 Jun 2018 10:22:14 -0700 Message-Id: <20180629172215.29475-7-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629172215.29475-1-alistair.francis@wdc.com> References: <20180629172215.29475-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR03CA0029.namprd03.prod.outlook.com (2603:10b6:a02:a8::42) To CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83f84691-41d2-4de8-4895-08d5dde4e851 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0391; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 3:mZFzePiwqdajGBtc65Bxn7hBAGWfwp7637kRY1ifVvuwADz+1UYqBy/FOgoFbMzdKa9KazVPXeo4ZjjtEwhwmByDZxZ3fnV6kAFULdOxNxcQTxeQtD0AzI5gkiRnEtu5ps6r7uRObS3GBxyBaaNtj3PgYX+VPG1R6X8CH+p9SF/U6xJ2hvOZP05N+X3AgXChz0Lz0YauN6OTwlbh00Du25C/t0u/nDmDVIhpDONYejyeb+NHfYKTTZXVzMJ+Uufr; 25:OGx/X6am0ZBk3DKe0dioFHkhXiamFK7246+OfRFWW1DojBJICtNHvSQwqST+2nxWZC83rwvoyz/cpJeCKP6n/hJptqmPfWaBhcmIkrenclwe9CBT3J+mBX9Jz5nhXT+S91qx2geDIUwSCL096V937LVJ89RMYColpQTiEioAdqEDT036KI8Mfos5yVa6m+5yYdXlfXzOcaP8oaapKkObTb5SG2P31v0pHbMkny1tdmP4ET70vVphnToOlK3S9bVShXh3TLXPdhXNCDY8d0EuHehA4N6EO1MUHpB0LN2jw2D9zGGwzVRbs+mUR6xVyx8gRBD8I9GUEPNtL8zEtkEd4Q==; 31:qX5PtUdOPgM+u3c24SxkWeCx6L4cgPqNxLCSrAojDf6ZjWZWPGfUnFg6mKsv2xj1BqrQABGAb3ts9N/b5hRh1XW8DE9QZsH6OANcZq+Ts1fH53L1MfbI4oH8G+Crfa8D+s/ZZi5I8Ah9WWA78bFf2/AhjKN9HoZkSd6ViFYiVBDXCd6hif/2QK/dHQnILZrseSkgR7ak2tLj8EZy6dFLWGeGGX7fg2q5S8HcwzcmK8U= X-MS-TrafficTypeDiagnostic: CY4PR04MB0391: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 20:pFaEnewUVVR4WWLWe0QK5+HsnJU74cc5x12rd4SvRR623afkOCWsBxs8klJ4xTO+z1EJ3wuJn1nX5hSVjDH42/oIju0TXF9w7Alp3/lgPwaljK1MmKbaU5d0Td9UbEe8ZSdI4NIKbf7b6v3zrH6CbE1WW8R3PsAKNrcXZID7hk5F6ty7GDcmS7vm51MoUp2mm+/hzGN6T1ViauQTUlWVwmDU3qjrkYkzb9oeanQi3uFDAYdCzdEaMDAW6bMC4SrzxjW2KwD49jELyhyJDoa6h/OC7ej8NctS2YapgMKF/jOt3B0CJZAIiWPz34YLlEqr1QpAK+JlWF7KnXS9fyfhRraTHwAlDST9XwF3KGJqcmzUgpf1D9aGZT2glPY/WBRgxfR74UNL9yc1Y7NPuE2rsJZPkidis/sxDQP2uzYxXQubgXA72G2fboWo0a41TgqdzMlVmxEfM+ZneHZGoF97veHF6eAhMrF45ixrE30KBNoePiFp1jbb5GAfh92nlPcs; 4:XvfEE9eFgnvTv8/JR3H6vSJRX+rlJFK0S3bVlglvcd3j19Dwp87F6Ec8vDOwaKTJd1+AEMgy2F4v8xY2TXj8bx+NstSzG+pcFvN9rQdcsMmakqMBtqXw6TUqG93kfOYGc0hHqWqgTuho4836YFvrwv7JKP9QQ2vfzYBYMZfhZAjlOdTWpMZX05yW2LX2Mg0IiHuO/79FOfnn4JZxkJHC5oRFIPSJhE4vtWih1RyeJAzZ1PT8edrgby58TBSspvRUg3tLyMabDMj5g0y+uT95dQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:CY4PR04MB0391; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0391; X-Forefront-PRVS: 0718908305 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(366004)(346002)(396003)(376002)(199004)(189003)(446003)(16526019)(186003)(956004)(11346002)(26005)(2616005)(36756003)(39060400002)(72206003)(50226002)(316002)(4326008)(25786009)(44832011)(486006)(476003)(8936002)(48376002)(3846002)(6116002)(50466002)(68736007)(2906002)(105586002)(106356001)(478600001)(66066001)(53936002)(51416003)(52116002)(76176011)(305945005)(97736004)(6486002)(16586007)(386003)(47776003)(6506007)(1076002)(5660300001)(6512007)(6666003)(81156014)(8676002)(81166006)(86362001)(7736002)(14444005); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0391; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR04MB0391; 23:FnuaRjHpRU59XHJvjO2NpML6GFauPZGawQ6rOctOs?= zLGb5C/9cUmV3UGbPES+YksHTvKZ1QIxUSnCSVgMUSB2ieeGNBdAcQ4Vp6OuwkCbBw1IiC8Ml/xuu+I0aJ29/AM90fsKk1wTREO/VwIVIak1sUcLJIZYLEVoh06yHN1Dcd29hgK3Q5dRZYwNLlQxG7Rqd9j68stngga2TcXyeCOfmaaJFipReebFtqbel9AsDOfJVol6OzVOwxX7QlLqa2UQDFbTpMbSczpskWju5mB4aeIbPXoFXXLTF2RSqEYf1qZxfCvndIIJFryv66nJLw0RSr9Im39K80Zxgf+dQIIQszoGHDeFpviztFLniQgNg9ZyyAqFTRdmLuyFAigcsfPEIKzr081lS/TVsd413LL0gOjKUnDNlq56Mg8Z9l4eATERk+SN6A/G5qDSxvm9715mpIfjiXUTHwn02He/b7ki2CDVpKO1FwvyvIBIU7TxF5qMtrt9wWRQ07Oka+hzfmPnz+rdqZIV9NYKeK5yIfCxqqh4rd727wfRHrZxTBPuVgaysSUFjmFJttKGnRwZAb/nv/qRi0Qt6sR2lEm+2mUWdxj6z2Wry9pNmsiZ6bRydD8AwZe2yz7lP2uqt+DE2wU/v5EhnZJrzJp/I2QN5LCumMMOkPmNvS9h1Iw4mwk5qlKAvju7v1nOymYyc65pRkzoZ6Z7Q0eCMgo5rrwUlFbcM3hqeM5h3t08fa3fLLcwmQbP4bmti3+cwbIsFnu1zrwBgFkk4rMQgODZvZfHPQvtGEh1pwQ0O/7IX7FnTwmFAF8gcYnhOIAcbwZpxJs3+r4tmw0TVUYl4TaFVA0Zd7fsF86LMKH913qYY3fIgA9zyBmqj2hJzfJnIN50b026UvcvvwtLiQan0HAUKdK9tjt+BWvSUX6x03GQU+POW4ZHX/lWpT2GV/QUpZQkYfukRy+Xt3/w4wSdgLNyjMkcEWFRp/2EihoadrXAzA3AU2T+8/ERCj8eWjelmau4bUoIlAqTVicSqsmBKSQTQciEGHs8raSsPnc8MRo2EWCy5o6oxzGZuJP4KDoveGdUBL7ZKE45zIoZQ5R9Q9D/Woei2+B9xHgCk41Xh5kwzrIrcBJ0iRVewBBrm5YrzXKqK5+754hJURj8piaDyWkGEBERHK9h3UXIh2KC3x5sofuUh/ISf/YaR9f/Ot3BFREJxjMnYQsKQnDuwYc9os/s6umJaqyI33gGxOSVg7ioHZdLf3udO0= X-Microsoft-Antispam-Message-Info: ZzRIoFtWDM19EueBo2QMQeRW455i/YVzUe6W2yv/+s0JLEbCZGoybHtLzcQ+1TA9K0O5SK8hV5X5kr6wde0moxOH/5+JbfujhTzvQeQ7fyF8JCoaStt9hqdasjPLsjZXITCDHnbcvhMY9lwujyT24YFkHgGOoo1G9JglyqtiEWxEKbQYAhR4Q8cnkBzitY4w50+wQXxgQu9SQ8vx7/HOWaZyCQdyOJGPpKDJK7TJZKXzGwC20xKRmVfR5scwXQsqoMAPE+iSixHK7u+Eu4xLBdEmJEqwi88YlDBriZlWLPfeSlZApLz9dSzamaPV0gAG1rXFodac5cb9Etlb2YzN7X59zF+0+y4qjrTEo4BFybg= X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 6:g1Vm+zO4eFIcFwS5otJaATu9Ifrf5DmIdJsAmvo6JkoQh6GDH63a20Bg2WGQLSv769PPwQEzg0wn95b6BpO3Vk7iLQ05pSH70rziPhMhFrJ2qLAcjRcYFDfyfvK3KerZFI72OlDFxDyqQJTeDVPcPpdwlZYgmrkMX1iTwK3fdLvn+50ztAovr1X2kVYdjjYyeRhb7od/R4Cvupyudy4HMyPzmQ1Re/aPcieRskcV8/XMZuU5FR2u0LsE0CKENGtmPD25hjU7YIF3vQI6mUEWc3Irb0QmyaI2jafTgLa8uxxnL9aj7+pCxWV+aIznRXs1j/SoTx/6WTNQctEOVcJxDNuyTuRPXyRe7S3wn2vBYpQrrQv1vdYNzZahlOhxgVQBFcDvY5lyS7XypDtBD8bIFwncUpD16+50nVSx5GKD1MYoR+sRbZZPV+E3ZAJemlqEkgdbvCUuSYhUQnJJBEcVmA==; 5:/3HykNV4+hEukYaNkKzUWEssP093A6jrIdzjr1j88GwY/wGVI2E/XtHPPNwnyR8J25Z89XQuYtXexp7yxtHfW8oI5Qz6czkNfqIaAcnK5Nx8RkrPEMu2cb+gB2N0VnkYMASm8si92HyLz/7NMEoVdMKlpy1M2zn/PtUAn1fJIwQ=; 24:Tg9xkWSo2EEF6ABSjrFxzH8cQQKCYCvMj1mt3AiGEEoGDWVdWhcsohlMHcvO07QfPauspKAMG6yOgTOP+QQUK/TfxKpqIo1seipAobO3brE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 7:nNZcNWAZRL5qGNPyroJIhWEtmhIcQ0PV61Fg0t6OfiQBrlHTNSKRJ3N2GLpB4+knOoYiZRJMUGIusyiLMjfLcLke3vHictigpijTCQVkZ1DM2DJrKgJFJYV7cy7LixwJwumI+UkYXcqPipzlmBR1+xFgVa8tKMeJ+kNXjdBxEaJW23SSCwRmHpd90WlHCQzkK3aUd1Rl5Plm7xbRFXlKvR62RpZ2TOZ5p7xnvhdZJb14SCmd3xExp2bdVsAJ2RFo; 20:VlfmjLtCkiN32jZqDwPp3z2f9uR0qWB2WR8GAcmoBkyyvwTDQvdGUrYHuWtcB+og8fZoPOagQyFx4dOUb1lGRX+svnumbeHKWmwX9rDqdPO4hDum/24Pz37CQ1JTCqvBuO6MEeHHyKgQzHj1A20dmMh0AfmHlPvK5btudq4KY4k= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2018 17:22:34.7783 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83f84691-41d2-4de8-4895-08d5dde4e851 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0391 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PULL v2 6/7] hw/riscv/sifive_u: Move the uart device tree node under /soc/ 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: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_u.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index f71527eaff..46459cd368 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -194,7 +194,7 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, g_free(cells); g_free(nodename); - nodename = g_strdup_printf("/uart@%lx", + nodename = g_strdup_printf("/soc/uart@%lx", (long)memmap[SIFIVE_U_UART0].base); qemu_fdt_add_subnode(fdt, nodename); qemu_fdt_setprop_string(fdt, nodename, "compatible", "sifive,uart0"); From patchwork Fri Jun 29 17:22:15 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 937047 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; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="q2DHLYkA"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="HtgN6z4g"; 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 41HNqK623bz9rvt for ; Sat, 30 Jun 2018 03:26:37 +1000 (AEST) Received: from localhost ([::1]:43680 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYxAJ-0006kF-B8 for incoming@patchwork.ozlabs.org; Fri, 29 Jun 2018 13:26:35 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42257) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx6Z-00047g-34 for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYx6V-0003X7-5V for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:43 -0400 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:49096) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYx6U-0003Uq-Sk for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530292958; x=1561828958; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=lBtqtuvHxR00y9VDlJYzfREEs9eRWg4efnYfHbdTk1s=; b=q2DHLYkAKUjEzJZopcpkq3gmULhhH903DimSGN8p4Q3VvW4m23L2AoLa qAgexDWVe/1XoFihK6oQkkwOROtrsMNQCtodM987pUgmtOsJjlwrheRO/ 9jEQK4JOZN+EPYafkGfoamm0BVmrL9jtP/YNaVnbhrGAbzP/yXR5F9FEl 59Ehd2atVqnqIa6IoIE7pusw57zHsTcQx/AtK86sZGtMnnfRQW1hKrO47 9ccggjlt9KwC0BA15x2AAo4sPYHBRsr7pXEqGYViLIFK+p1uQjg0s35/V Z/k1KGF77LhzsPpmri5u603Inv/HQWBVQyJAzIjiG83FpRJjfigMrJPxp A==; X-IronPort-AV: E=Sophos;i="5.51,286,1526313600"; d="scan'208";a="185964619" Received: from mail-by2nam01lp0182.outbound.protection.outlook.com (HELO NAM01-BY2-obe.outbound.protection.outlook.com) ([216.32.181.182]) by ob1.hgst.iphmx.com with ESMTP; 30 Jun 2018 01:22:38 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PDpSgl/XxbyvqSN+Ctxe0+2mTTBc/fbxDzWD3LU7H80=; b=HtgN6z4gtFQNJVWLXNyHFK5YUiinwOZLY+oBE48zvH6BotJmHH1hNk5sOlpj6aiq0l3q8zwzctcQow6rIAAgLUrn64EDyDl7mHPJZP2NyHHaBMo8Bi6PoOAuJdmUWYG8OHwCmDTRu2Sv2wjT4QkkO5a5xf5Z5lDFiHW3qKqDyW4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Fri, 29 Jun 2018 17:22:36 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Fri, 29 Jun 2018 10:22:15 -0700 Message-Id: <20180629172215.29475-8-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629172215.29475-1-alistair.francis@wdc.com> References: <20180629172215.29475-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR03CA0029.namprd03.prod.outlook.com (2603:10b6:a02:a8::42) To CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3ac6ad16-3253-42a2-e79b-08d5dde4e900 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0391; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 3:FWAOByY4/MQxsnVuVSE7jW4r/XeGLHW4OplkAfb21J1Z2zxvm8AL4wxWwQMj/wlTKXdmetK013/z7clf+gPDZeFPWEq8JlAuPbKmKD7vVmxyBGaPO1YMzh/Ful0oXV06ciRhPIFRG6lSEkzruwhexQA+EkrFfR8TTdCED2VsPkMQ856pw9WGSFy3e0Ipjl6iRNYguXWELrQfUw63h6FVdtVg6ywv40V9NwIuq/M1GQKenJ+1hLH0R3LO+jJNA5KQ; 25:FPmNqCFVTC/Y6XFSZVM8YgRpixm4A11oWyJ+Ye4lagyJGkUbBOHh1QCza/XHywkNi4kP3IuEKrY3lDQUn+UjmeXvuYVsrn879vr9tCkTJjdbKAwQ/dSjtTBvlgZ2PCHAcmHtls8QdWDP2bZ8TpeMbbF0hnW5CvwcdmbPWV2p+Zc2NluXdwbcq4guTlRufd7ZTFKeQLlZH6xpKRkucP3ruiOjkD0pStRwzidNulBRoUrd9yeUuVjKzwy7hr0Z1EriJ/YVqnYkOhS7SWN2FNwoZVNQ+IKEl7QJ+L/VzfauHgbJheUz90/4HKaBIu9OE3Moe4elqRhj0AWaRc048IpBTw==; 31:f2BOJGPQUJ1zJT6fYPD62nIbwE6Z5bQAPZKAmIhMADiJPAVIgyd4bRnDIFoWWkfDQsi1c/ZWgyMcNunOCAbH+7ImKEZcWFFmCG+D191AH12XQvjLnH5Jft9pKiEfMqEfb3HrQz/ofeYQnPKIRkyv2YdcJXpCNX5wIEb2l+tme01uiXN4Rrptm2nPWMme1ggzZOf9cktVhjLIAZXurd/RHmYF1jBgpE3OmVitetNB9lI= X-MS-TrafficTypeDiagnostic: CY4PR04MB0391: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 20:hds2TjhExE3gtOlFIUKj5BFLullbSFsov4N7VOg7bPTgAPyy9JtVUOiYzAfG7zkURpBZrzjEp4FqbV6DcJYxNUevLC2ZrkNeHFW+tMyfOfcMhAnLCdkjaXJzG9PFofhYSil3WOvlk0/2nY/4/R5ykBFKsTxI3zHO8yrdPV1Vh/sBUhQLxjtiI54HYiPICV814gHCG0QhEBGA597YWzQHYs6mO57ZnnFCVfwA1qC8vYtvAhxSWe9LDat246auaW4VcY1VqAKbYcaoO/dic8Ctz4azZIN4guEq3UVZFogZjPIRdmm936dyAbRlcGSdULzjngFm8Kmay6eSMX8g/FadfQKPgBUT3plIf1O3vev4YVAFgJW7/69ZoA5s1Hkde19rxFa6y/1Ke6Xr9FEYET0B0hKrRLThIT7Q5Hg0zNYZZ9mn9LqTxPjs4zrUWU37fqnoQQZhv8e5ouj6stnCMXDIHgMKOpPi7AnAdXj5waS59FZs3UaJMJPR+3MMbnmYEs+b; 4:Oxo+C+O/Vn4UhYAPdOC0PqAZ7jeR9Ho2xKdPXGD1gwtQZpX9uaBMwOWokZDNOEMxO8JLyzgFewHPZj5e+HqMJiAYdNvAeNVE9Teybh+nW7TjT5fZeHoEF+E6PgfCpjcZ7dWFBpidEEBbvKwcOlgND3Sl/d8FpVAPNdJCv4dVrdy4l1K+nnb4tAX9CMopa1qFZh2j30g/KCcEDXUtABjjv9UyQWVHiKFSoSzMboTIUvAWtA3H/C9onLDEhSbuJWEry+c1sZFe43YmCSaWcvjrnF92xdpQ/eiaL9N8AMTHlwF3zP9tBudZN5RET1l3i0le X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(21532816269658); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:CY4PR04MB0391; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0391; X-Forefront-PRVS: 0718908305 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(366004)(346002)(396003)(376002)(199004)(189003)(446003)(16526019)(186003)(956004)(11346002)(26005)(2616005)(36756003)(39060400002)(72206003)(50226002)(316002)(4326008)(25786009)(44832011)(486006)(476003)(8936002)(48376002)(3846002)(6116002)(50466002)(68736007)(2906002)(105586002)(106356001)(478600001)(66066001)(53936002)(51416003)(52116002)(76176011)(305945005)(97736004)(6486002)(16586007)(386003)(47776003)(6506007)(1076002)(5660300001)(6512007)(6666003)(81156014)(8676002)(81166006)(86362001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0391; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR04MB0391; 23:pIvFR9Vyxf6EDNkC7dfK3K+b+o7Ra2L6MQ0kpfq+j?= MdH/NUn+kZZFFcMiV+kKb3MFzwttWTRy75cT2lVBbIcphxZ0PjUjZaqpU5aqiKJ+QFiPd244pMZA0I1sXzEBCMYeZuB/8Zvjp2TjCobqvLrdrkBmC38jmQ9ZScMM1WcwD5stFeKOE4kMVht49d/+pq+mo0E2ecA9Nosy5k8wH2he1+o3q20tjIx12nH7d+4rSPyNU2RA43/6elEZp27T8KrKB7eauvOFH60tKwAogOucFNVxe+4ApH6QbJuKqlys8XUuiOYXj8SGCgocYiGoqOqRX1u4FhDCnvxEISvq9DbqpBq30XcbiEpn5pbDLtLpjG59E8Izi1+dlD/q7bCUOj4K6/juvBdxxaLMhiLdWN67hmJO/2AoEcPXt1BZgvC/EoCwMARu3P7PvcYOH10SWLjZH0Er7j1UXudP64kT46q0L8hXtT7BIlY9I9/VRuNg33zKA0f/ZlJqPcHS+OLBE6LXMh7M8L/B3S+DjL5SshwinYzn+b66ehcF1hajhQQuLz/paKam/2mVfRx4qodYvImmQ5FydMb79/Cpjb/WosALRFn6ixs4yE9NYeBUYuCP3yg7uk5LNxXt4p30ut5+jz7GzdbbxoKNv+PfHA1Qga15hbpkvo/+qx4Oieqj86VEFJKvzQy47Zfu6sm+WhfpiHza/FtblXNUtef/HRTpu4aN1MCLjBSRsIOAOlWDWsIh0gg8g6SGvuru79peN4UQXUfJWrM88p3e10CnwJ4kInNovsZol9Cxppg0NWaZWnhJmAnbyzAgqwKIushSpKGT/QwYfGyf/uUdoq09FwtEd4+ElD01klIP7HFlVaSfEMgDrwzHf4aCge1o0M/Vc6YQ1+kqEkmtdj/aKKlWPAQqfNanpHX8nHGZLbOzBTqEwRj1EpTptxUdF0H3aEkMvCMX4Fp3SUIrP+g0UpJau8S19U5FN/2Ng+bPGoKAZZ/rDFnCLuu3dOtQs1VHCZMTBiO7aDVB2XaRd+4TFrRVw+/GlN014r8L5fxhysNkppJkcFRY/n6CCLq8JblEKKuoGEj0MoR+ymHoP+anP8zNhWXBRnmCUwSHmI3qrNdoD0ElfG1hqtq99iI0XS42BiMTXLlaAMzd8/CLMeod5cys3IVK4OfZs2uGzHDIKRB7n18ZmioNsDI10bpYo542lKLmmkAYLBxinOL8+4emZNmYKEXCNuMhQ== X-Microsoft-Antispam-Message-Info: 2sFcAT+wPfb0QUx4kcMRJAUxz0WPbk8eqqrsCU7WD/mK9QOXdmdDQrjGPJCqq0arAriKWIp2LghkdngEaJR8vjQWaxQd1npxU7kI1AZQFMJ3slNtJ6dbL5EK1+mIhb/uFLljGxWsQo1pO2hnBn+r9II7QUI/Xfenfnkmrdy55NJLjSsE7i6LYJc4eKQX4lAQrXUN/vmFbN5iuTLGW9Faoktf9uoI0fkrd+cvWeAJduzNGESFqBjIYnIHBnFQXIPUXtU3yRCylAnPtO659TPS6jvM+nJjnokeJfKdIJthjXcMrzwVghz9WwvHX2T3+b9X2eFUBqsW1cedqBBy53vJT1RP1L/NILBATr1KZFiWyJw= X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 6:AjBbxTDkASY6agIYTcYkyEVJFYLe4gfbDsOb/l5Gw2AWHtPC4D1j9R4rrkGD9m7PZ71n/DNExhrQz3atRqjinRpbUmBaAJqhfGpIQZKF7k/SfkySS0JBtgFnTccIui5ranqtajMBsULE98n3nSl9ZxwHP482uFzbwwekv4kFEgtxgyNR9PgfQYsnswoJAVH/6jQt4o4AFDxg0o7BngRfHxGDHrPWjiCxDB5Mn01FNoyEc8jFv0E41QxNFhkfFEkuBEWl/yF/oidniDCVZkCYzMwaKyq1xoVIXGnHr72H/jW6K14xtUIcgpQPVlkg5G2EImB9LXSVRGkhuhT7lEdDnHJyuO6Eb2h1vIby6KF8JVOjNuw9H+bi+y928lnkwM0HtwwA1u3W+ZUHmwjarmjycZQQP3kxmAunQncz3rT/wbb+zMotpn9zQB3AOpbqW1K+kwfsdXG3tz1Vhq+IhljlQw==; 5:RwaXI/v9tWzLIxKN+eKPYehMDmPO1gu1ECj3J9TlFRwQmbeD7tiSXsA7uyMi486Gb438b/PPodpSIaFeW9D6g5SmOrdQcnjKTGZYvuI0w+xPqIlpY6HalJP8/jVmLjujDhxGz6oKyyziPXDetulf8CRdm4FYoXg1+6Q3lSXjwg8=; 24:zTMAqP/7ADvAt9dCCRkPIH1XYqgGwJ1EDhFH6jCFWapUlxNPd57KYkckIaNrUAd0zEzYiuNmFubfl5gOWY+ZujkKGBAtAYO9uI13hSUkDWQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 7:MVLGzUa2zGVOhoALKBtwEed6tZ5qFMpQZMgrT3cKqg50ys+2Ty39iSrWfikezxKTB5rZLE2SLJv9DgON9WXpIlcF66t+/Grarp7pnF3+q/yLHZTMXJjWKYfFd2+8Ar/ZdVAD/E/Zv81j3LZGBNxHSjdtOOJ/whBlsMeb3PWT/Lhi/CKDPk6twWRP9zooUaCotb0T9b1OUk9poT8NDFUmVxEtTxcb9dGVrNCwCbTDBpLn+D3CPn/LNmDvldmYujBC; 20:C5GeezZ7gcCfQHJQlQ3hR6Qx9LkTjZXhGMlSqwYGYcSvoZ57sPh5mGPEIRcda8NyKZvSnNwI1ha5SixPeBiE7EN7jEeKoMjQIBQelmqGVG+uaCXrteIEfh+T2lxUEBgzGFYNlsz9Oo05dGxGQiNcW2GC8OjOvPhtbb1u5ILoEfs= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2018 17:22:36.5348 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3ac6ad16-3253-42a2-e79b-08d5dde4e900 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0391 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PULL v2 7/7] hw/riscv/sifive_u: Connect the Cadence GEM Ethernet device 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: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Connect the Cadence GEM ethernet device. This also requires us to expose the plic interrupt lines. Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- default-configs/riscv32-softmmu.mak | 3 +- default-configs/riscv64-softmmu.mak | 3 +- hw/riscv/sifive_u.c | 50 +++++++++++++++++++++++++++++ include/hw/riscv/sifive_u.h | 9 ++++-- 4 files changed, 61 insertions(+), 4 deletions(-) diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-softmmu.mak index 20e670d99c..7a003eb5e2 100644 --- a/default-configs/riscv32-softmmu.mak +++ b/default-configs/riscv32-softmmu.mak @@ -2,4 +2,5 @@ CONFIG_SERIAL=y CONFIG_VIRTIO_MMIO=y -include virtio.mak +CONFIG_VIRTIO=y +CONFIG_CADENCE=y diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-softmmu.mak index 20e670d99c..7a003eb5e2 100644 --- a/default-configs/riscv64-softmmu.mak +++ b/default-configs/riscv64-softmmu.mak @@ -2,4 +2,5 @@ CONFIG_SERIAL=y CONFIG_VIRTIO_MMIO=y -include virtio.mak +CONFIG_VIRTIO=y +CONFIG_CADENCE=y diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 46459cd368..1a06384367 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -60,8 +60,11 @@ static const struct MemmapEntry { [SIFIVE_U_UART0] = { 0x10013000, 0x1000 }, [SIFIVE_U_UART1] = { 0x10023000, 0x1000 }, [SIFIVE_U_DRAM] = { 0x80000000, 0x0 }, + [SIFIVE_U_GEM] = { 0x100900FC, 0x2000 }, }; +#define GEM_REVISION 0x10070109 + static uint64_t load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; @@ -194,6 +197,27 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, g_free(cells); g_free(nodename); + nodename = g_strdup_printf("/soc/ethernet@%lx", + (long)memmap[SIFIVE_U_GEM].base); + qemu_fdt_add_subnode(fdt, nodename); + qemu_fdt_setprop_string(fdt, nodename, "compatible", "cdns,macb"); + qemu_fdt_setprop_cells(fdt, nodename, "reg", + 0x0, memmap[SIFIVE_U_GEM].base, + 0x0, memmap[SIFIVE_U_GEM].size); + qemu_fdt_setprop_string(fdt, nodename, "reg-names", "control"); + qemu_fdt_setprop_string(fdt, nodename, "phy-mode", "gmii"); + qemu_fdt_setprop_cells(fdt, nodename, "interrupt-parent", plic_phandle); + qemu_fdt_setprop_cells(fdt, nodename, "interrupts", SIFIVE_U_GEM_IRQ); + qemu_fdt_setprop_cells(fdt, nodename, "#address-cells", 1); + qemu_fdt_setprop_cells(fdt, nodename, "#size-cells", 0); + g_free(nodename); + + nodename = g_strdup_printf("/soc/ethernet@%lx/ethernet-phy@0", + (long)memmap[SIFIVE_U_GEM].base); + qemu_fdt_add_subnode(fdt, nodename); + qemu_fdt_setprop_cells(fdt, nodename, "reg", 0x0); + g_free(nodename); + nodename = g_strdup_printf("/soc/uart@%lx", (long)memmap[SIFIVE_U_UART0].base); qemu_fdt_add_subnode(fdt, nodename); @@ -296,6 +320,9 @@ static void riscv_sifive_u_soc_init(Object *obj) memmap[SIFIVE_U_MROM].size, &error_fatal); memory_region_add_subregion(system_memory, memmap[SIFIVE_U_MROM].base, mask_rom); + + object_initialize(&s->gem, sizeof(s->gem), TYPE_CADENCE_GEM); + qdev_set_parent_bus(DEVICE(&s->gem), sysbus_get_default()); } static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) @@ -303,6 +330,10 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) SiFiveUSoCState *s = RISCV_U_SOC(dev); const struct MemmapEntry *memmap = sifive_u_memmap; MemoryRegion *system_memory = get_system_memory(); + qemu_irq plic_gpios[SIFIVE_U_PLIC_NUM_SOURCES]; + int i; + Error *err = NULL; + NICInfo *nd = &nd_table[0]; object_property_set_bool(OBJECT(&s->cpus), true, "realized", &error_abort); @@ -327,6 +358,25 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) sifive_clint_create(memmap[SIFIVE_U_CLINT].base, memmap[SIFIVE_U_CLINT].size, smp_cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE); + + for (i = 0; i < SIFIVE_U_PLIC_NUM_SOURCES; i++) { + plic_gpios[i] = qdev_get_gpio_in(DEVICE(s->plic), i); + } + + if (nd->used) { + qemu_check_nic_model(nd, TYPE_CADENCE_GEM); + qdev_set_nic_properties(DEVICE(&s->gem), nd); + } + object_property_set_int(OBJECT(&s->gem), GEM_REVISION, "revision", + &error_abort); + object_property_set_bool(OBJECT(&s->gem), true, "realized", &err); + if (err) { + error_propagate(errp, err); + return; + } + sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem), 0, memmap[SIFIVE_U_GEM].base); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->gem), 0, + plic_gpios[SIFIVE_U_GEM_IRQ]); } static void riscv_sifive_u_machine_init(MachineClass *mc) diff --git a/include/hw/riscv/sifive_u.h b/include/hw/riscv/sifive_u.h index 49f1946539..e8b4d9ffa3 100644 --- a/include/hw/riscv/sifive_u.h +++ b/include/hw/riscv/sifive_u.h @@ -19,6 +19,8 @@ #ifndef HW_SIFIVE_U_H #define HW_SIFIVE_U_H +#include "hw/net/cadence_gem.h" + #define TYPE_RISCV_U_SOC "riscv.sifive.u.soc" #define RISCV_U_SOC(obj) \ OBJECT_CHECK(SiFiveUSoCState, (obj), TYPE_RISCV_U_SOC) @@ -30,6 +32,7 @@ typedef struct SiFiveUSoCState { /*< public >*/ RISCVHartArrayState cpus; DeviceState *plic; + CadenceGEMState gem; } SiFiveUSoCState; typedef struct SiFiveUState { @@ -49,12 +52,14 @@ enum { SIFIVE_U_PLIC, SIFIVE_U_UART0, SIFIVE_U_UART1, - SIFIVE_U_DRAM + SIFIVE_U_DRAM, + SIFIVE_U_GEM }; enum { SIFIVE_U_UART0_IRQ = 3, - SIFIVE_U_UART1_IRQ = 4 + SIFIVE_U_UART1_IRQ = 4, + SIFIVE_U_GEM_IRQ = 0x35 }; enum {