From nobody Wed Oct 29 20:45:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526342941992981.5219973887577; Mon, 14 May 2018 17:09:01 -0700 (PDT) Received: from localhost ([::1]:55816 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINWN-0003h4-U7 for importer@patchew.org; Mon, 14 May 2018 20:08:51 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45246) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINUl-0002tl-58 for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fINUh-0007Zv-UB for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:11 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:23246) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fINUh-0007UW-Fv for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:07 -0400 Received: from mail-by2nam01lp0178.outbound.protection.outlook.com (HELO NAM01-BY2-obe.outbound.protection.outlook.com) ([216.32.181.178]) by ob1.hgst.iphmx.com with ESMTP; 15 May 2018 08:07:06 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0406.namprd04.prod.outlook.com (2603:10b6:903:b1::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.755.16; Tue, 15 May 2018 00:07:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1526342828; x=1557878828; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=4G/avInBHByOe4n0lfkECordr5B3wwdBj+Q3m9YMByg=; b=amJhpJBd+IsM+YHAnMKTVg+R6qdYf0mF0IXNF9FLJfbOuo+d6RFTC60G JBoNDJrDPj63qXA7xY/FWAfWgYKT1UqH3kiBQL1t/l910s/5Ew9m1HKCm X9xCOOSc3z+09aX4C/2pwrb2LtFaszuco8rH7p8fEJa3UlvBTiq6F+WXT N/92mfgBELzm/Q07C9Bu7oAfpXBDa96ZbtplfxGGXkAh0AEzA1XZXfYA8 9Cq2DUs4+A2KjHZCuQHLB9cm1CavP1/wfTvg0arkhAAG0dYEpbgMcJdUG peLnuWWTH8sX3rOfuMJCFQWj9fT4sb1zoX+yqrztlp/93fb0UGhniSH+U Q==; X-IronPort-AV: E=Sophos;i="5.49,402,1520870400"; d="scan'208";a="78815376" 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; bh=YU/9tcKewcEtmYjtzILAkVo8E3f6HVvJf9t0KQXgI1E=; b=a5g9ci1LBAueFsMcnpXE81j6ijD1W36I2M9WeqwesaXWRLNXdP4tHlaZDSGTnOCWqOPs2qOlu6XRzEevdMGIPmiVBENsZKxRuNvZzw16V/40EQjBGmYR5XAkkqtPCAJ71KePIjkrbUsbA+Crd/UMhJVxwsI0OMPNUyv7qdEbIqc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org Date: Mon, 14 May 2018 17:06:55 -0700 Message-Id: <87d1ba3e445a9d1f41b6750b29851c8c14ca8572.1526342674.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR02CA0016.namprd02.prod.outlook.com (2603:10b6:a02:ee::29) To CY4PR04MB0406.namprd04.prod.outlook.com (2603:10b6:903:b1::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0406; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0406; 3:wqK1bWC4ssMAhgfi8VMcEOnQdeH7Av6Qh+dqp0CAulqGDqg2pt/whfa6JWds5DPXvlQT3f3osbEg2+Hs4UouUxt+dPbFFcXqjyxBLHL7Zz/yJ3f+OI3aVdauD/7/WSaLChB5yNT7UQYtkhhk20iPg1e+c73G4HqnBY203bX2dQ3XFq1rYU0Sr+O3kReSZfY/AaRtEnmHHOCl+5r/gjiNlRHODpThY+V2b07i5nIc7bJtAxpYaoD+TJ8YQ5JH05nF; 25:eW2N/8uj3UZ2lxEkIcDQNrZbIdNg3fXP584w6hbmFMW0yUxFsS7H8o6LbQwqnp6rGrfGDzTZkKSfm8gSuEbE7TNmHYsBKm7mj4t+WZoKehZLcnQgEME8AHewhTlYAHRUWjkxnAZyUrbeh2YbP4jahIFd/BeFy/N9tAdj9b0Z/Por30fS4aTrelq256+d/yhw2x/jdxHzlC5xvPyNrbZUZLVXd7XCtiNaxSG+SvGWgFu1aEbv+VYzsgztwLbk26RYPVXf0+TJsKNvxDrQYkUJ4RabFrNqP4glMxtXlCOfA7WMUYQ5XiYJVbrHqOukUtCNxqG+0NIdn3S9G+Qsd7Q+rQ==; 31:7ZqSs4iK8E0zAHaL81DxOksggJ/ljNaa6EnqqJvNeWVHYNrAM9kcsa2WRIgd3vgeK3oRFqQDchirJrjcs0utKOpNQVaAdiXs8PbgBr7clkKGaCRDoyEft3VWhQRTfp/1dofx5Bj6blUdPdC8arOoaB8MrCuajcON+xLBzKKlcB1EBvoFVPeHYkbiVxGjT0boqaUiPlyeSaCQnYIMw1krMFEAqwZ7QKTde01WdUXnUPQ= X-MS-TrafficTypeDiagnostic: CY4PR04MB0406: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0406; 20:vcyejbsst0dn8Sfi2eKx+KefyKaoFctAwCuJ1DyjS2YOjC8U4z1PbJ0PEK452mjNANN2KUXMrFKXheB0gQA3S4zmmV6XNKL2yneW20PdeA18QWIKn01VvcMNAV7r7TE1K8nR0EGuGPdEwksgULDxjlK3o2l7/GfIyhWxhdwvT1qxwucELHk+8ey5J978u/dflByHJF+RqsWpw/i5zTinB0JJaUWldb2d0lXq9/q4kvf9z/WbnuoOVTaXYHOiT3Z9iWLFGWHRH0/vSaQ15ADgd4kZ3tFZ9KiBBZOVcFWfzbyktL9F5va5PUpq7eF253uxuP0zIi8CtLzaC9/7QKYk5B/v8ByAbnxULiN8f9BrNmSWP1hlseNbeVs5H8Mv2P+eWgHi3kq2PROGQUHXRe13iELKawIIT0xGpYDhpZHU7MCjZDPeVfCcfMw2WDuz9VeWUjN8DttrMSguzuBxYUUQqgn+qaWRbADMjWkWM4yAmz259v7fQJX2MJ7sKmmVSDz/; 4:m1Dt3+8DG4aP5dlaGsKZU9BIYNVJ/NS+ri2fiInpPdzzbuYXdc4wsAdTR86A6W/OyyVgb6OAm/qIcjBRz/PnDHm5bOHKq/RDYR+//VQCOjsEBRyWY/bOOrU3GmR72gvrtt+nxC/VbrvUgUbU0oFG5MUtTt9SJ3fiSIiTsRleMyD6KBpeDGHlbFYtTzfD/XdPd4/o1RIfIcuOeo4uT1RUWiJDWBg/w1oLc9uXXojRHONRD9JGxF1TjZxRUzOfmG928ZIyfAz2QhpU3EYUjH2q0g== 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)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:CY4PR04MB0406; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0406; X-Forefront-PRVS: 0673F5BE31 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6029001)(366004)(39380400002)(39860400002)(396003)(346002)(376002)(189003)(199004)(53936002)(44832011)(81166006)(2351001)(36756003)(6116002)(48376002)(6512007)(16526019)(186003)(486006)(11346002)(386003)(6506007)(2616005)(476003)(956004)(3846002)(4326008)(446003)(39060400002)(76176011)(50226002)(52116002)(305945005)(81156014)(8676002)(51416003)(8936002)(50466002)(72206003)(478600001)(6666003)(6916009)(7736002)(2361001)(5660300001)(16586007)(106356001)(66066001)(68736007)(105586002)(316002)(25786009)(26005)(47776003)(2906002)(97736004)(6486002)(118296001)(86362001); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0406; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR04MB0406; 23:ivQ3wRI246bE6xH8+CRrnrZ31YTrhmz0lw4SnvfPg?= =?us-ascii?Q?Za9HXgO2uOcLGWh2qdA1qmDvDvTjvSQcBZDNtt+yhqGGZsJuzIMorPBx83jp?= =?us-ascii?Q?V2TSH/RihYwkEKDvQgOAf28h0WelBOEJFUcCfcTzIWGY1PZL7tzVglE3yVv0?= =?us-ascii?Q?wMAQ5pwlEFoNSeVfxanBYj6AvY2oGisn22cNzYa9fUzO3mqZloJRyBx3PXQE?= =?us-ascii?Q?UWCnhADtoqvH0m9gIw8SwY9UVDpH3AZsHh+yZmaVrViqMz3bPv+A5W3Ek7Ep?= =?us-ascii?Q?xReYkux3BqZCzwuJEN+wSigu/pcIl4SrXxWIKwK3LBFL3dx6eJEqWgmiMXPB?= =?us-ascii?Q?NmhbYy5TTJzhuzb224+kIV2a+hmVgj7HYbq6REdpfHoyQ0gH3aMOGS5eRa0d?= =?us-ascii?Q?e2sD8bGRpyRMaEn0bwjbdTQx8ZuMocZ5VTN8beKGlK/GScNEkhEDGApmz/C3?= =?us-ascii?Q?C1YegBQbzpi5ln2CRGtyEAMXvonriFeMaDw4ec+ltbYTk2OQ3PwrNF3cBF8+?= =?us-ascii?Q?itjovCqJ5NHpbn415igPRZIhKkviM0eJKX7chnYLSFqCtaYzBHqo9o9Tt/fE?= =?us-ascii?Q?dFFASRbqAtm+bTGnirTn9liqzm0rScnC3ztAX2AhWeUisuEjCmAwpqT2c1ax?= =?us-ascii?Q?nqDJ+kuJ06VjDKdW6y1fwJ3WJq92bI3gfeTDE42sJ1UGqwhctT0KZ457cSzE?= =?us-ascii?Q?p3gftSkNJjWgkzP1uYLdtg1C9XkHSQJn5Vvxm9gSqhoaDrTt0R3WwZ85H4+k?= =?us-ascii?Q?O01Qy8HyFrj6FQXE2Soc7+DPoIZOpM+uCYtfZC0BafU46wJW6mhIMty0RcGH?= =?us-ascii?Q?lQEzLJOBtOsXvoxU6KFml1Wrcx83eyprhSzcdklB4/3EcjTop2KHQZD/kN36?= =?us-ascii?Q?s+0mQF+l7eS4SMBPZCjlWU+mxcFwErxKq+AFVNrt1XN8Jh9zSo1UOo3aTZOZ?= =?us-ascii?Q?o7ICEPWYfeTetyI1wTSivG+Y51rLncQZTlVK9z8yZqI04SQI4GYW/y3ERDOR?= =?us-ascii?Q?0BVZhpdEaKMKSM0P6N4aZxuVuklwS5D+mIMn9zts9E6XjXD8mpMOaaD1QYaj?= =?us-ascii?Q?pLGZAYVziQKQpNEpyr5mAPN5ZebcZXRpCP9mFzS3sGDO29uTdqmZ/YWtKeZZ?= =?us-ascii?Q?pr6GXc0Wbqo/Li94qt/9l1CXpYUf6mLlW/w2HByuiZK8AoufLCjP9VrYardm?= =?us-ascii?Q?WAU8mfeVosvSZqjQ32RxNT4ai0pJm9vLGdocZ9nVcziAmtN4xOYlXecG3JS/?= =?us-ascii?Q?2SoKPrJLYW2Cn+rNtOEDISbAfRpXm0C8K+gce+nLGoYBVDj8AYKzbcKycPhy?= =?us-ascii?Q?vLxVqFjc2Czu7z5XyEoH4HnBFCD74tAyjqoOL0W9aPE?= X-Microsoft-Antispam-Message-Info: dnRIUXQDSpSbRH5ZA9TBkSHNOhP8LQuAAnmsMghgKYOr6siFluuWcNIcVMvkuPKWHaXHZFqNMDutEY/CelqlZ6a+vPKlNS1/19GNFSAUIidfHJdNZ16uJyXt21+1UXhmjsTKAWRqG6pWyX8iQmjOb70i1vR0xvGeLn0TZafDbau5KzZGaTCMDyKD3qxKNq2O X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0406; 6:xneg3fN8gtc8dffNN1kyPuB32L2AxU1IPMkYpqIXPSqTTDtZ0mc2VLpoXpNKjKmFgvt5fLDYwsUi28ko2FiV7DRR156N/IYO8GRoLSJtFM2C1rZIkhE+3ouqWiN+oLj0nHjS/fs17R4I1pLMkf18WlZDeL2B7ZnBaQQt/lS4JSSwMnyowbRsA9sYVckK2NL2I9urUthlFLmas9HyONYnfQfm+4eYfQxXnTlvRdkgeRDy6+18QxVOpz3oRM++XiOnwuq1B21lWjvHnTS00emkSeAqf1ZnYjZGtFP8cz0XzxLC2MCE5HIHTD5mriqbfNaCGpPLmJLj+o+WRwKhSyoMKT8wnTiytMrSLWmw5HpLNl3+mTsAAi+Yj6XnyAzpNL5XN/Uc8PI8pyz+igbqMzlpUy50BFDPhY1GAWA2EbkPIufqqfnNMeaufnzpdHvFn9udce3muH3L40LGvI0JUpq2hw==; 5:tOllwop+BhDRMc5yWT5BJ/Ek4noklWHHOs+b8wXvq16awEGBpq5x3lb3d0JB01oDpkwvWGe2IEbK9CHpqgNSduERuwzPNiZnMj94CIAvXDFlYtuugWmxJm3cUHih1CIJLivAECoF7vsMBW0eAgodsdS3xuhCm6SwaoryUzghidY=; 24:4lfMO58aZDoekl3Xe+EBErFf2sT8Wz4+7QQaFpvRKgQh79k9XPZYDRvNgZ70nsjFgS7Hqck9uWBYeYGyiVGrTJ7/DdP/gei/ktis/C7LVyM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0406; 7:ke2v5nYNG5iypFRj39Z+U/4AUL0+8aNi39HVc8Ey14FnuACd+LFUpB1kcoVxISJErVFHaMaujmYrJCD0O+yyn5rirJEV2as80bFAS3X4tyhU4yKcClb7+TAKpNfdPjhf1tVgB10SDXp7NFAZFpKht54zMG21a5A2EqtLbTBR/3075lOQUEWITnUZdShaL1LPHnv2wBkiMQqHrRvwFL7sEUgKaaxPsyuZngAvQA/sTtS8my5YpmoWOgsC7OiaW/fw; 20:T8pmFPEu0UpW1AIyiIm9V3Lc0m25Ip9VdzABOlUY6hqXBVZSFPiAaoNr/bFEojmnmOBjM2DrTWL2f1J1ic5nkJXSADK6S56jKgtedyGcpGEV6GrFYIf7yVkhqlfIGotb4JglPgsD9UIOYJulkW9rL8CRTLC5Al/MVNy+HlvPwos= X-MS-Office365-Filtering-Correlation-Id: 6f301b46-9591-49f2-8e59-08d5b9f7ca53 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2018 00:07:04.3296 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6f301b46-9591-49f2-8e59-08d5b9f7ca53 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0406 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.45 Subject: [Qemu-devel] [PATCH v3 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, mjc@sifive.com, alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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); =20 - for (cpu =3D s->soc.num_harts - 1; cpu >=3D 0; cpu--) { + for (cpu =3D s->soc.cpus.num_harts - 1; cpu >=3D 0; cpu--) { nodename =3D g_strdup_printf("/cpus/cpu@%d", cpu); char *intc =3D g_strdup_printf("/cpus/cpu@%d/interrupt-controller"= , cpu); - char *isa =3D riscv_isa_string(&s->soc.harts[cpu]); + char *isa =3D 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 Me= mmapEntry *memmap, g_free(nodename); } =20 - cells =3D g_new0(uint32_t, s->soc.num_harts * 4); - for (cpu =3D 0; cpu < s->soc.num_harts; cpu++) { + cells =3D g_new0(uint32_t, s->soc.cpus.num_harts * 4); + for (cpu =3D 0; cpu < s->soc.cpus.num_harts; cpu++) { nodename =3D g_strdup_printf("/cpus/cpu@%d/interrupt-controller", cpu); uint32_t intc_phandle =3D 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); =20 - cells =3D g_new0(uint32_t, s->soc.num_harts * 4); - for (cpu =3D 0; cpu < s->soc.num_harts; cpu++) { + cells =3D g_new0(uint32_t, s->soc.cpus.num_harts * 4); + for (cpu =3D 0; cpu < s->soc.cpus.num_harts; cpu++) { nodename =3D g_strdup_printf("/cpus/cpu@%d/interrupt-controller", cpu); uint32_t intc_phandle =3D qemu_fdt_get_phandle(fdt, nodename); @@ -181,7 +181,7 @@ static void create_fdt(SiFiveUState *s, const struct Me= mmapEntry *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 =3D g_new0(SiFiveUState, 1); MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *main_mem =3D g_new(MemoryRegion, 1); - MemoryRegion *mask_rom =3D g_new(MemoryRegion, 1); int i; =20 - /* 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); =20 @@ -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); =20 /* create device tree */ create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline); =20 - /* 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 =3D sifive_u_memmap; + + SiFiveUSoCState *s =3D RISCV_U_SOC(obj); + MemoryRegion *system_memory =3D get_system_memory(); + MemoryRegion *mask_rom =3D 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 =3D RISCV_U_SOC(dev); + const struct MemmapEntry *memmap =3D sifive_u_memmap; + MemoryRegion *system_memory =3D get_system_memory(); + + object_property_set_bool(OBJECT(&s->cpus), true, "realized", + &error_abort); =20 /* MMIO */ s->plic =3D sifive_plic_create(memmap[SIFIVE_U_PLIC].base, @@ -314,3 +336,27 @@ static void riscv_sifive_u_machine_init(MachineClass *= mc) } =20 DEFINE_MACHINE("sifive_u", riscv_sifive_u_machine_init) + +static void riscv_sifive_u_soc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(oc); + + dc->realize =3D riscv_sifive_u_soc_realize; + /* Reason: Uses serial_hds in realize function, thus can't be used twi= ce */ + dc->user_creatable =3D false; +} + +static const TypeInfo riscv_sifive_u_soc_type_info =3D { + .name =3D TYPE_RISCV_U_SOC, + .parent =3D TYPE_DEVICE, + .instance_size =3D sizeof(SiFiveUSoCState), + .instance_init =3D riscv_sifive_u_soc_init, + .class_init =3D 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 =20 -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; =20 /*< public >*/ - RISCVHartArrayState soc; + RISCVHartArrayState cpus; DeviceState *plic; +} SiFiveUSoCState; + +typedef struct SiFiveUState { + /*< private >*/ + SysBusDevice parent_obj; + + /*< public >*/ + SiFiveUSoCState soc; void *fdt; int fdt_size; } SiFiveUState; --=20 2.17.0 From nobody Wed Oct 29 20:45:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526343064079771.1716673134916; Mon, 14 May 2018 17:11:04 -0700 (PDT) Received: from localhost ([::1]:55872 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINYV-0005fL-5l for importer@patchew.org; Mon, 14 May 2018 20:11:03 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45273) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINUy-00032x-QS for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fINUv-0008Kh-IE for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:24 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:26511) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fINUv-0008G6-3J for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:21 -0400 Received: from mail-co1nam03lp0024.outbound.protection.outlook.com (HELO NAM03-CO1-obe.outbound.protection.outlook.com) ([216.32.181.24]) by ob1.hgst.iphmx.com with ESMTP; 15 May 2018 08:07:20 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0412.namprd04.prod.outlook.com (2603:10b6:3:9d::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.755.16; Tue, 15 May 2018 00:07:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1526342842; x=1557878842; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=BJ1IRDnBKBaFs3zHx3byVHTv8rtqzwWsxsUxxcnLgVk=; b=Dz8//t08o1SCzXRCZDVcedvvsatVppqkEnYgF5l1nft2d2tAXI7ZpIWA Df3ZyllCDdMq2JvDk/de+QRHMySp7OO8WuRoRRJXBsbIiZ+QxIaZCy8cX rh1ReCM0C2S+GyCzh+8eSoKuFNTSdXt0Q2vtb5wEFmSFL4z+V1UGIwP3c 1r+MgjBwcmMcuz8p9Zzm/ZD/gAqkCTNwcOyhGNrqnmwYBtcU8FIVFRSFE 3+4LMKNjKWbCr+jgTB1LPyhoQFsiv0lzEa+Q5v2+mYeft5S8PBFfFIZtj jyGmaWeVXaiDXPn5yJ30jnTGrxcKceMpH1gGobFrmHG4S+NmxYG5bqJ3x w==; X-IronPort-AV: E=Sophos;i="5.49,402,1520870400"; d="scan'208";a="77864113" 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; bh=MLnnlUf455sR9DCHmruV5H0+nyc1yKJUWU0FCRuDu1I=; b=FvY+4ecTRuSVnNlAc7TF+/BNzctPnMi2iS7tQNV8k55Qn75XVbF0aaOqvF/pUU7DqEG0CB+ypkHiIxt6UG4ip4NrjQoaMwPQOrPgyC7gS6bo7uz9PAgjke10oZwPil2wj9hT9d3/BqNr9fjO4Xe45/YcsJjLN0LDqK8Gz0eF9Fw= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org Date: Mon, 14 May 2018 17:07:07 -0700 Message-Id: <52767d6fcda555df477512b350f168d0de557b7a.1526342674.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR02CA0032.namprd02.prod.outlook.com (2603:10b6:a02:ee::45) To DM5PR04MB0412.namprd04.prod.outlook.com (2603:10b6:3:9d::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(5600026)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0412; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0412; 3:e0flKUrHy5edLrj5dvqHKGJim45dJY7W2G/sLRhPWq4PqCxs3mLFcrACKEaYU4S+8Z900+yVGZ1Qj6RKMsfKYzf5Raqubga5X6pifam+P3v6OloojiZooX+rutcjqwj/fbh8hte6l/CBZOvU/vQjEjXidD7HRKRDIIRnlv//q8wGUKqsxo4H9faN3PGiHmTA9SNZKmvINZN4wcXkC3uL3iRkWk6UNySODvCqUwdmIDJZeIEyKGr6wHlR6b3/4QX5; 25:s93siVuwPZPbEpmd7IUalZI8yyA/76hO2zbSJz3pe62u59dMwkAacQfy4achcWGZdxfjSOHChQWLwQYH6BtrlAHFRGGqiYGiEmF9eqGwt1vE4VVcwFj2ou3AI85kbvWtDDGpXSmI3Bl+k1uBlT+teUscgMBBxrLnttpPi8gmeQscWlsMYS3C3t6CXAmv8ONp4CUAaNTxxNGqGjJbquILBe44LR4bSeZ3SAW6EwcZ13hNihCpPhYz9zu+tO9SEe2fCivifXO2+SUwxhFfH4irYXekwxOXnSVC74mdQKRxgng7YapSbp83ItOsQzmL6QEH5UOStdnXXLootMBTISundw==; 31:JifUEpydRkQ0GZrJIa530ldmLw4IeZe3zonsE75IIyMNg2ahGt98Qhm6vqOcylwDcTiOmbuN0PbjO8WDKBUq18XJaA64LsnTcExihP1lJjYWn7AtlDgEEVYOlf6Q3of5fXyiqWIr6XTigEJE4BqGIvkOgvUQrKWkJT/YHlgIoHbnJXrhTk4CBCy9CKfXOskU4s4Scrms3CDQ94JDt+MC1pwP6yzDngCJuW8YV4KGMwc= X-MS-TrafficTypeDiagnostic: DM5PR04MB0412: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0412; 20:By9HNMM1KuEshv6G+29G9bC7oEyNHf/eoDZMg147jLLeRGH90OZIu4p9W+iybOjQgGZZMtWyUsVXhi49tTtukSMEuOeOoaFivMoyarz80+NwxuU5H3M6l6gAPNGVhuk0hHHZuXHYxKWEoJ6/o1Fhuf5XBJ8X9kDzkYp3f2ycUk7dzJSAiDd7IAMBjxzL41TnqJKOzbzJZlnFx6Vd+mACdMdL2kSvdLcC5AJUp7XSJHXnNlgqRGjwYPdV/ouOjdAwldqtq+0s3DRMejzlLZkwEzG5nlmrfqfrdEnPRJ3250Bj8X8X1s5JfIXjYZorsx6CCbSqd1TnGO0YWIt5W6P9mWbfJSdJnLRYPdpXjK4lE+mlQnjzEXIuj9HbcgXTAsDKuWTDim8TmjsMS6Gl5k1f2HM8CPT48aZZhUvxV/n1R3932PN4oTSUgNh73f20IOJ1ZLn4GnEhCcl1hxEMNMr6jrF8GhavcrpbsMF+Dw5gPQ27C/dBWUmQgaFneeNlYz78; 4:tR1s09/QWdz7gobwoYr9hzmNsz/BxFAAvTKQDoVMD4bcnFH7iTa1dnUT7JpDIGsXb+PH2GC+VyAkaIqQM+DgNfAs37W4All//r+BNdxIdxxrplnSOvt7CePmCXQ32D0AGA6KPPjE/qZviET5TTdgrlDq+5BTRCf8MIoXo7az2q/hCOFlprY8rQ/2eI6KHOYk7QCgIIJzAoeZEulN9UkHHLHGA6USuR83mF+lFswln+1B+EX3IVgdVbKFe5MOM4TA/uENpKAdhlqxHLuAKHpazg== 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)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123560045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:DM5PR04MB0412; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0412; X-Forefront-PRVS: 0673F5BE31 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6029001)(346002)(366004)(396003)(39860400002)(376002)(39380400002)(189003)(199004)(8676002)(53936002)(118296001)(956004)(476003)(11346002)(446003)(6506007)(8936002)(6666003)(48376002)(5660300001)(7736002)(50226002)(50466002)(25786009)(68736007)(316002)(39060400002)(6916009)(81166006)(81156014)(52116002)(51416003)(486006)(386003)(86362001)(186003)(16526019)(76176011)(44832011)(2616005)(26005)(59450400001)(2351001)(478600001)(4326008)(2906002)(6486002)(97736004)(305945005)(2361001)(66066001)(16586007)(3846002)(6116002)(6512007)(36756003)(106356001)(47776003)(72206003)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0412; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0412; 23:sViBlPHPeLlodcMnvoYzeaKgyHaG+NpqUo+FPU0/9?= =?us-ascii?Q?joum/SN4+udTKYnGJIjAZnZ3N2XDQ5EPOzZKWzWFXIg2oSlUiw8mkA9p9C2k?= =?us-ascii?Q?6RqQ1RRJPljMMRrrfSgr54zdz0O9WfNPBDi+PBwHF2ZX4reBCQROpm0qY8no?= =?us-ascii?Q?vjfiZx9lBiHHr88COeTYDWfYcLhEr4WsbzQS/MMMNTdGFqUzutiLEHH+nUrE?= =?us-ascii?Q?r7ulpfaW8cj7EO4XOkbGb0Z2kUHB2u3GmM6T5N/9RygsK68jUFTAPBsO+x3D?= =?us-ascii?Q?PWm9mKMPBKZdIr8GZ1jlNirHwCqFk+FG1DTkxh8rHPzMNMcXI7B3UgSx7E85?= =?us-ascii?Q?I/VtSbz/NhL4z5ijAkuU4LWZAt7HY8T7AO8vnlhW+S8PxnontEB3ps1QBm9S?= =?us-ascii?Q?O1Qg1T/9cT1hfT8Cbd7k6VS6QjTW2H5AK4esKpG+wb2+fdjga1g8RQvMiSJ8?= =?us-ascii?Q?7PF7FGzfxcdd+BwXLY/b/Vjn8+2GVgisJwDz51MfAnD3P7WPsN09tKAbnxjt?= =?us-ascii?Q?D88GYFCImUJLTaV121QFrZKT+V90brgVbBD0AxCUOGq7Z0X+oIPqdP6jg3wZ?= =?us-ascii?Q?b7CNqCHw5CKMwHqQ71I+Dl3QhpaTrxtkDSZ/2tt6DUo/sUKM8ZC5mxYtU4xh?= =?us-ascii?Q?w32rwEO+G2sQkmZkr28MG1vAlEOcuhiWT5DZA2z1UQBTH2UiE+4E6gqHIndn?= =?us-ascii?Q?5+O3fahOnywwfkBkgwQGsLpMR/CNHgYzCPTDJueHWoRbYGjmamenK9UYL2MX?= =?us-ascii?Q?6On0F0M/uaiSrAGojv3NmgD2O3FPzytxDJU4T0sAA8beh98xZsV1bdgZCR4A?= =?us-ascii?Q?x+XO71zgLdBG6NzxoAw3ErvTrVCwgjX+Z/RaVOKECiW4gi8Qdo78uqXKnd8K?= =?us-ascii?Q?GH5/UU1mmG6ZgAABgxvNativmIHTqvKrL9GmqC8+ToVkwSbzTwfWvi0DR9Co?= =?us-ascii?Q?ep0awWFuiZDH61pWh4TmUh+p2B4DDzHL3dhYh7MpkPiovwmwuB58xltpxzgr?= =?us-ascii?Q?/NtgLdZwoGkK11CqUAjK55yp74JsbUfcPVYN+URUMRXz7qh0kT3S55JBZaSU?= =?us-ascii?Q?SuTWwb77P23wZTf9YPfh7d2h7TfdI5NUSjZk4+jD/JUNP+5lLxlCT0hpb1H/?= =?us-ascii?Q?o+2t476lBIJnYIXXvUQ2FJn9dFx14D14Bt9blyCACMm+ovmdi84nEq1KvZtI?= =?us-ascii?Q?YrKFJm1a/AKvc9PC+5bxUBm4Lmao0dPOYyBLEy2uQuvpPYASUWLCpdydSGPc?= =?us-ascii?Q?0fDTJeN+kMjYiO2U3BYkl+Jso8bf83ZYIeJXb4S8ZDh0/LvvLOnPNVM3E8VA?= =?us-ascii?Q?c2TYhtJC6TpcjYVyjl9mKBXduTL4xcs9TNpduv77RjfZUVFMx0fJk99NOw6v?= =?us-ascii?Q?10iuA=3D=3D?= X-Microsoft-Antispam-Message-Info: 5UFF4JMaE3tQwuTDFgtMu3yTXAp9U9ra7FcaVGt6e+zZorn3yB/fsBkHp0ay+ZHWK4dxlpZUqXnFAbalSxrDTdslVA07/awZGPQ+ljfwZcyfvIeJr6QpaykzwpTjTOWeyYvMa2ODlkL3zv4S/roXVW0o6OLj835F3N1FY9MiHC7jOJy5tCvEVT+U6SXTERey X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0412; 6:93IkcIlGOnQZ/PJAQhMz4X+YR3i5fZ2Ua+mw+XsUAAvOG8dBll1MjBxlu4/NMX2FhHAHoNi4XtqiUwokExoTnKcYxqiNlnSTl5I3KKc8SjAKNfXYO3+yGmpbPhXypC+FbEfc8KXcIRTIqXXY4/8lsrcad8UX+haRWGxeRXOTFZgVfyhuUtM8mmBBzQg61GgJNAJ1kViNiCpz4/RMFo/Xgd2z22pmZT9b8IbbHHLMbZXZ3AtCo+UeWRmef+4m2znkVe7hVcq+l0uiPm9Tdx6gvHDQqfJFK9ERvNI0mwBYP9CeAAfOi9OjMEczyWl7xScmdmko6PugzOm49CRVwpe8kXJdiPB60k5BfqHiKK+RtpGlH9sq/ll+T3iEjIxagZPAO99UoE12oK8pMoP1/vWnm3EjnnTm/+IZbdrlcqmFnbWIDYWV+yYRy20ZsqMaMqdnA6F4pRabHdfy1NpwXVtmDw==; 5:T51xznvUGap3PHFzpDCCehvsX2wm69cRHIM2rlBy7B3fPLCdhPBaEc21qXIacfbUBuuadWVADFyjALMBvDxLl9mzpYnQlYrE/+fvJXR8XUVtZRmm03kSzWdEzizy0FU5TS1JXmxlZcoP0zZ3HGuDjOFwGpGkJTfBVJl34OobEto=; 24:Joa28aAO31vvvxJUDQItCUQcvpXuaWw3cCn321xac1+VnEOxS/X/twPsRt6/34xKwS40/nc/VGdSuudsAeKl+uhCv8rtmL0Rv50IjrLPbsE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0412; 7:OnKkt2pfNjFIyWltu75hoRc8kW5It218nwncautWZbT1ennCS3LRvpmpfzM2n1JNywji3XcUrcwwscRcyDxpvun3xC6CFcDgAbkp/J0X2vpRggcjIGI4sYlrEeBluqzX2aKKwoAabc9NLQGHJs8Cl6YC9ZY5YspM+XuigfwrR2/EG/uMGs8ojKdck7mh0jNy0yXY5Wk/Q3VwhTad8F6qoiaDk3AXeZv+fNfUOxYx+Dl40C9HbG7sv06iSlNlWv/F; 20:W38Gl49aduOrbI7Rj4ax5b/7rApZ2vRfUnAHsPS3/bhlt2oqg6wBy7G8TXjzR76JZ/NLvOJzZeWuomfq8ekuqTj8pjOgurQiKp22wPKkS4bUthriIw3VKpuwvF6pu7l94MIa1vy5QT1JqiqCMHZ9UydNURb0q61h/DV9DVjZu5k= X-MS-Office365-Filtering-Correlation-Id: 5873ea54-dc1f-42dc-1a42-08d5b9f7d206 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2018 00:07:17.1877 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5873ea54-dc1f-42dc-1a42-08d5b9f7d206 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0412 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v3 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, mjc@sifive.com, alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 =3D g_new0(SiFiveEState, 1); MemoryRegion *sys_mem =3D get_system_memory(); MemoryRegion *main_mem =3D g_new(MemoryRegion, 1); - MemoryRegion *mask_rom =3D g_new(MemoryRegion, 1); - MemoryRegion *xip_mem =3D g_new(MemoryRegion, 1); int i; =20 - /* 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); =20 @@ -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); =20 + /* Mask ROM reset vector */ + uint32_t reset_vec[2] =3D { + 0x204002b7, /* 0x1000: lui t0,0x20400 */ + 0x00028067, /* 0x1004: jr t0 */ + }; + + /* copy in the reset vector in little_endian byte order */ + for (i =3D 0; i < sizeof(reset_vec) >> 2; i++) { + reset_vec[i] =3D 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_memor= y); + + if (machine->kernel_filename) { + load_kernel(machine->kernel_filename); + } +} + +static void riscv_sifive_e_soc_init(Object *obj) +{ + const struct MemmapEntry *memmap =3D sifive_e_memmap; + + SiFiveESoCState *s =3D RISCV_E_SOC(obj); + MemoryRegion *sys_mem =3D get_system_memory(); + MemoryRegion *mask_rom =3D 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 =3D sifive_e_memmap; + + SiFiveESoCState *s =3D RISCV_E_SOC(dev); + MemoryRegion *sys_mem =3D get_system_memory(); + MemoryRegion *xip_mem =3D g_new(MemoryRegion, 1); + + object_property_set_bool(OBJECT(&s->cpus), true, "realized", + &error_abort); =20 /* MMIO */ s->plic =3D 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_me= m); - - /* Mask ROM reset vector */ - uint32_t reset_vec[2] =3D { - 0x204002b7, /* 0x1000: lui t0,0x20400 */ - 0x00028067, /* 0x1004: jr t0 */ - }; - - /* copy in the reset vector in little_endian byte order */ - for (i =3D 0; i < sizeof(reset_vec) >> 2; i++) { - reset_vec[i] =3D 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_memor= y); - - if (machine->kernel_filename) { - load_kernel(machine->kernel_filename); - } } =20 static void riscv_sifive_e_machine_init(MachineClass *mc) @@ -198,3 +221,27 @@ static void riscv_sifive_e_machine_init(MachineClass *= mc) } =20 DEFINE_MACHINE("sifive_e", riscv_sifive_e_machine_init) + +static void riscv_sifive_e_soc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(oc); + + dc->realize =3D riscv_sifive_e_soc_realize; + /* Reason: Uses serial_hds in realize function, thus can't be used twi= ce */ + dc->user_creatable =3D false; +} + +static const TypeInfo riscv_sifive_e_soc_type_info =3D { + .name =3D TYPE_RISCV_E_SOC, + .parent =3D TYPE_DEVICE, + .instance_size =3D sizeof(SiFiveESoCState), + .instance_init =3D riscv_sifive_e_soc_init, + .class_init =3D 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 =20 -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; =20 /*< public >*/ - RISCVHartArrayState soc; + RISCVHartArrayState cpus; DeviceState *plic; +} SiFiveESoCState; + +typedef struct SiFiveEState { + /*< private >*/ + SysBusDevice parent_obj; + + /*< public >*/ + SiFiveESoCState soc; } SiFiveEState; =20 enum { --=20 2.17.0 From nobody Wed Oct 29 20:45:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526342970625694.3048213687605; Mon, 14 May 2018 17:09:30 -0700 (PDT) Received: from localhost ([::1]:55824 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINWz-0004FZ-QQ for importer@patchew.org; Mon, 14 May 2018 20:09:29 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45315) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINVD-0003Bt-30 for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fINV9-0000fV-Lh for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:39 -0400 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:34225) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fINV9-0000ZK-6a for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:35 -0400 Received: from mail-sn1nam02lp0021.outbound.protection.outlook.com (HELO NAM02-SN1-obe.outbound.protection.outlook.com) ([216.32.180.21]) by ob1.hgst.iphmx.com with ESMTP; 15 May 2018 08:07:32 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by MWHPR04MB0417.namprd04.prod.outlook.com (2603:10b6:300:70::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.755.16; Tue, 15 May 2018 00:07:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1526342855; x=1557878855; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=q/hXAwYDJLzKX4hIVEXC1Ej/uyCB18nEWrnfxW+Ps6Q=; b=PkEqXhTc1VM5dQaijlM2hOEkj7KsKObONhsixit2+R4qi3ICKKE76UKh h7k0AyK0shN3v1Ulz7cQt2WNeWjtH2uJ8HiqHGq4LAs1bmn/catBclXA3 rP6eJdTsckS2sgz9oaGqrXwReGUFaayphEGAAQMQttozoX4tAT9YMVyfk x7Q/4MCCsD24847VviXjrLFdl7B7CJ1XEy5zdfwR16euki+G+pt1R7c2F cYrHWaWS46GldN3yLcS+icaTY//aPmFk/4PsL6RyONSAQwxN4csOPZIE+ u2uYAbaEiLQaGnn6OoP1eil9jwzDoWNuJ3Y29WyE7xVbJHbdfg6DY4xnA g==; X-IronPort-AV: E=Sophos;i="5.49,402,1520870400"; d="scan'208";a="181147258" 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; bh=zHVY2heDlnCQU+CetQBxS8nyfwE27f/f5mr7ej9WkT4=; b=cbHOaNdbPDUh0p9QoIPOAsLz/xv8I4UmHi1ioRItbbxNvcXCjIu4u/qKz75mX/qM4bgxkQRw6DHp9XdVHaatOFCJWwidWo2wL5iLJ3q/jrLx34wnjdGz/J9Ow7sUQtMZOw0xCeYzQCl4GihkAeKUvMeOH6kiPJr84f2Sfv/bBCA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org Date: Mon, 14 May 2018 17:07:20 -0700 Message-Id: X-Mailer: git-send-email 2.17.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR02CA0014.namprd02.prod.outlook.com (2603:10b6:a02:ee::27) To MWHPR04MB0417.namprd04.prod.outlook.com (2603:10b6:300:70::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020); SRVR:MWHPR04MB0417; X-Microsoft-Exchange-Diagnostics: 1; MWHPR04MB0417; 3:XcGc97YUhTyB44gVq/Tmo2HmW43XQVZSVTHQa/nfTxq7FKVtOm+vUmPb26dVIzH4w52VubUllUiiFs3Zujpad29QruOuXH/rhjGFTcgAcQUy7GlPsIQDSU4YXKMEOkp/bxwfP/UnWq2sKCUIutCtpDSRZT1G5xfHakowBkDYG1w7jCBCIqH+UVD7H7RWiiRlIuTHpTn2Ns5OZOcdy20m5Ug+BT+Z1S+bXITVifDzKbd8OIEKjaf0lY5NspGCSily; 25:PHORcfYiCTaSsWY6/aKOUGPXBTZDDkhevFDYjagCg/F1qt7rw7QT0jBAsdNEKD8jgYL+iNG8y/uHZjT0wBz92nAPfqgv+MyjV7eL1nRuHt34klGOJfkcjUTmEj+hhcSLvKMpb9CA3zvjdMig3lt6l/seSq+8/SVjAN4TMgwKVwwmqYVHBY50FdbPjekCgZQVXsyhozIWVfHXxs+EtqddFYnE980qPqm9ALD0ct9aBbguqqUJOaVlHRXMe3aW2IaI79Bf35vLXGSNmkK+67tvDCIIH2iXpdcjFUHFznrXnkWEEOewxvJeS+f/7cpZ+jz9IaWzpoLW4c4dluqPOMDsyA==; 31:+GBsKWblvME9k5xqow73MbyX1WvXb/T8fSrUYvz7FXRKje2hM60LsKug55uFR94znXE45cOUdGlKe4/dia94Cor1f7PxhRTXtOVKnqbffG3gvOWYfWCOQLnFVCLPjlvkoW4JKtijvB8adkpG4QPxi7KOcpqryP20Nxx9E9wavFjkvS2AIK4fWd6XMyZu9UbiHPPIPht86xr/0wlfrnnVktuXcoV9nkzUirBMQpmmu+0= X-MS-TrafficTypeDiagnostic: MWHPR04MB0417: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; MWHPR04MB0417; 20:4y9x8JCgpXvY1RIkR6lpL42EhCOiD4VKz60LUgOtgZ63hV6h+KFMUXnheiTY9UBH3GOykkyLkgCh3+E4Im36sWdCceDAXx4u7Df6kj6J/B4bK8lzkG4WZOQ7v8mhc8FFIBqxMBQC/2VmOUThRPx0zUwVuqnQ6BAOsR8qpHNB55MrrtVEd0jKUqtaL2TJehuXpLlzZM30E2WpgsM6q7XotXYz32+xONAckMwcKcQl/KLLmOkIUy85UmpeyP0Mj4kiX9ahT9QWvP6R8qSs97N+Jv6+B6xCha+dWnU9wd3EuUeqRq1JtIq9JC7GNkRdBaQbQeAzWZ7wYitouPa1E6SYqezQQjA1Sm8NvcD7rXyJBlG7mJR97JGbWV4nOtjYnY+LWiWsvAKR300DyknvJZt1nZ7kpW+Anvbv/FxWxNn85jwTV52iX7Lu6qoJm52SLJ/yAdqMKopJQk1HGW/gGZ9S4b+V79dGGM5qF2eXjoCsRpDHBPqQqHyHe0GA98d4CUIg; 4:wx9o2Qa2KDQhXUrf9N564qBpcOvtaSYLBr21O2A10NcQK1LBdJ/jpKgrcdIShJqI5a5XfiKEjGHcjZI7t/X8JPXJtu0nzoeRdW1/7EdjC/1DsJYz0CCuGadv1+sN6S2ClErUzN6HRBv6zGQ93031dZTFkFnaZSmk7ARFuz37acdrLCNbhJw7GS63WEshnchLLt7+5dPi2X5Mudnf4kNarYjit33nTwFK2tzoHI1EKSGAv4TkPoaZr9cPxV2eOzOraNcJwlm3u00Cq8QeobDLLA== 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)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:MWHPR04MB0417; BCL:0; PCL:0; RULEID:; SRVR:MWHPR04MB0417; X-Forefront-PRVS: 0673F5BE31 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(376002)(39380400002)(396003)(366004)(346002)(199004)(189003)(446003)(575784001)(3846002)(50226002)(86362001)(6512007)(2906002)(305945005)(2870700001)(25786009)(39060400002)(316002)(53936002)(6916009)(6666003)(4326008)(6116002)(97736004)(11346002)(47776003)(8936002)(66066001)(118296001)(68736007)(5660300001)(2616005)(956004)(476003)(50466002)(8676002)(52116002)(6486002)(23676004)(7736002)(6506007)(59450400001)(81156014)(81166006)(44832011)(386003)(486006)(105586002)(2351001)(72206003)(186003)(16526019)(26005)(2361001)(36756003)(106356001)(478600001)(76176011); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR04MB0417; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA0TUIwNDE3OzIzOnFKYm9yRHh1TXdBM3ZWTXhTd0I3WDlqUStU?= =?utf-8?B?NXVOM1doMEZLNUpHQ2dpOVI4M2V6S3dLREl2dnh3amd0MG5FcFdNZG14QTBa?= =?utf-8?B?UWtqajREVkdNa0JNYU9aWW1GUWFGQVM5YjRBYkFkaE5pTmppOW5zTlBPbkdY?= =?utf-8?B?ckJMWEYzUUh2U2JGRVQ5aXovVFRRaDNDT29VMUl0aDBNazZ6YjZleHZoc1dL?= =?utf-8?B?OXhVWHdLQnRkL2lZbVBkNzdPVm5aaTFDWFBWRWVBV1JhYlc2NGZIeXhVT2VP?= =?utf-8?B?eDY2Mng5blhuZThxMWtmNkFhcXREU3Awb3VFc28zRnNwSXQyV3hZTHlaQjl5?= =?utf-8?B?cmJET2pqdFBWUERrY3VJdEpaWitGYXpYSWY2NFJQQ3ZTNjBnMDlBQUprVWR6?= =?utf-8?B?OEloQ2p5aWZISDZKaVFucDdKc2lxUkdILzlYakJJVVZhaG5tQW5GSktpbWdo?= =?utf-8?B?enJtUkNKVTZZRUtTa3g1REZIZU9GdWZLczV2UXZ0VEJhamxGNDFuMVpMTHBk?= =?utf-8?B?Y3ZtR1QwS2c3SCtiN0FGQmRUMGZOR1p3ZUpwNDlkNGh1MHRwTnBqTjFDTDZy?= =?utf-8?B?WGh6aWNpWXlxTDQ0NDZWODZBdVVLY0NJU3lLVndMTFk3L3d0amx5bDBoSWVy?= =?utf-8?B?Z2V4OThFWEZsdmF0RjlLL0V4N1lVYXVTK1RZaDBFM2ZwSEFPZnRjb3lqY2Jw?= =?utf-8?B?THFVMFNZbEZ5dG5sZWpOcmhyZVlsUHdFMEFhUTEyYTgrRXJKODU0VXRJZ3FH?= =?utf-8?B?STdiR0FiV1RRSVpuUkNDdlV5dkdDV0dQcWN5endFbXJuRVp2WkR3SGxKb2Fi?= =?utf-8?B?VGkxMnlCMThLcUFTbzIvc3hJcUVjcUhoUlI3ZGNKdE5YZGFrSHFyNjB6RXpp?= =?utf-8?B?M1pyRlJ6RVI2Z29ocTZZc1pvaCtVUkE1bEpDUVJWMDg1Y0lnejgybFQ1L2hn?= =?utf-8?B?eVViM1Z6RWFvb1pRUkN4SWV0SnlyZUg1NVZLZEVJY29KSzgzZWdsRW91T3Ey?= =?utf-8?B?Y3N5cFRScnc0UzZKbkt5b09OZFB1N2g2ZDFNaW9IN1NwYzhteld2OG12NHlZ?= =?utf-8?B?VWV3ZUZ0QW9XTnVFSFFiZVZYTER5V3IwbjZ0Sm9aalZPNS9YV1pRaGxzM2xz?= =?utf-8?B?cE9kL1d0dlhYMXZtZmJqMnQvTnJvRktiRFZsNlE1bFZaWGhjc2d3TU5sUnA1?= =?utf-8?B?YWpYQmNPdGhpc0wwcHdCNGtCYTFGbGNGR2h5QksyVlppcGo1OG5CckNkR0R5?= =?utf-8?B?UUp0R3MvdHMzQ1ZDM0JVTEF1VFBPL2RVWVlvQ2hoeTdDVWYwR09pU0hhOWpR?= =?utf-8?B?eW1jYXE2V0VUTXg1SjVTRjZQNkZSRkdkbzFnQ29tLzU1Zm5YYS9wdzA0U2NY?= =?utf-8?B?YzkrQVYwS09URXFMWVBHUUNGc0kwZ2dNV3o3L3ZMY2lGaC8xZWVnL3BZb3hZ?= =?utf-8?B?NG1LM0svWFk1VVYrN09ybDVXRmFXdlhBWXdMWEV2a2RZN2liSXhjR0haYUxQ?= =?utf-8?B?ZmpmWStxU0FsQk83anJwWFJiY204OHVOVGVSbXg2VjBoTEJZZ2dQSjhIU215?= =?utf-8?B?cTdnZVoyVENPMExsd1c0QWw0dHpqS1dFUGpRMFJaWGdlYzRIajUrTkxvOTNq?= =?utf-8?B?V2FPQXNkUXFTMitLYWVoUm00dWgvczI3Um10WTR1VS9vNHg5UFVhdHc2NVRL?= =?utf-8?B?Yk1wdjRSOWVDTmt1WmZIUndUUEVVVDVvLzY0SG5RcnJlbkc4dGVtc2dtNGN1?= =?utf-8?B?SzVQcU9HaHg0dGhUS1ZMM1J4UzNCWUZuVStIcFpacFBIMGpySmdFU1hjWHJB?= =?utf-8?Q?/AI5wKB29JHy0?= X-Microsoft-Antispam-Message-Info: nyr1hxOnzeSGyfR54v/Kv1qQRVZXiYp8tH2YYknvc7uST3Lf4kCZeJy0ykzC6sY3yzmmM5wP1zQte3mbf/wuLw28mg8T9Xz7ZAGeHjv/bXnnZilxHqtGLsI1SYRbLCo4P9HkytkY0Yv2U6rX5JJ/ECnSj8jRQ417xY8BGsEvFHEw7reMJ9FqWMfg5FVLfXN3 X-Microsoft-Exchange-Diagnostics: 1; MWHPR04MB0417; 6:9fi3ESKPQAyt9RJ5BVTwcXoDDE12/09Lq5f9+BKgsdIaTwSCU3G+D4EXIC6PBMuJ/JDKgXel5LOnZSJT0H0SpO0IOVAnZwhFNrVhOUWauRaDfxgzYhQh1g/7H7J0wS9iXCBI8lUqSAqp+alTKNXpAhq/rz1UeZHNSVT6hxKtq3R0mTPFlA6OdhHUjW1UHP1z1cTJCRe6NBVK06DsTxW63vXxxwO3xyTYMHl9lpnEVKrJ/DGJIMsmCJKLERakakhkaDTKdakDhbhUDz9GnJaTG83w/TAbbYgFRnMMJUu/5zQaymhnj3RQ0AO5tUO8/ufxcUDkve60MaBJIsuG+49O2yW0JLBYu76EePHWEiWRStv0IzK4tkOBcD/g7byut6Yw11Mcb/OUVWpco89IZCdzq//AhRpQ9SeKJ37uhdoMR/QRqzQZtQUbKNYhxwW7h2vWBFlksx7F6XR3j380Y9FlcQ==; 5:ChdEv3ItoYbFirjd/JVjZDPYecm1jA2PMARu/mk8iA3g1DAJucT3fHECjrxgLeSv72sYY1yiWm9RaQoKnkG656Y/LXioTZSKAnD0eIIphnFrZhsXk0ZTaTrRicacsN0CBePtBqllYThsydxkque935TsNPKX+J/zXie2Th8D+So=; 24:vfMUKPULRJ8ovzptAkJkJBFxbMrc4tTM36pFn5gY0SFXIxA98TEt4+vHeFcpk0+LUpP8NXVXwWfh+fw4CWcehq+fOZyE8czE+XJByUj5AiM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR04MB0417; 7:gnGUchELwA37J15gt5tzh57wh+Kc35vZKJlVvGluPrHcpkfe0/Bcl+pYRLxQv4axh8kw55Rq5VPkvmyco0zi/LdOmAYgeS9zT8TkMaPUuIKW1nbAz6VBIfQL0F2uw+UHLcCB9Q9uFqtv9Xft0f+zIa9GqUWnzCeQBRQiXHPW03G6l/hZvdZgIPaAEmSBM7PV1v4mgOf0Ixezll7w7sooljfiYIGghlGgW0R4QEcFAWkeCUHv3Lj+b/pN8VAlxdJI; 20:NeK5fY0ijBcuepp3LjUfDfyGvN4b1dKkcyo8LVz1WIIjK4LC8e2Cumyr5heRGO2reyHVtL7puqNMTiP12tkv37sSTR0tWJGEj0bQPcPO9EW+SPH8lsSN8g0Cpm7GoC5CAkqRImscf5tnI4zf7ODm5glteQ2g0aCeJIrWwcZNUss= X-MS-Office365-Filtering-Correlation-Id: dfd07d2d-9a33-4adf-942f-08d5b9f7d9da X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2018 00:07:30.4272 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dfd07d2d-9a33-4adf-942f-08d5b9f7d9da X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR04MB0417 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PATCH v3 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, mjc@sifive.com, alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 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=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 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 *d= ev, 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 i= rq, int level) static void sifive_plic_realize(DeviceState *dev, Error **errp) { SiFivePLICState *plic =3D SIFIVE_PLIC(dev); - int i; =20 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, Erro= r **errp) plic->claimed =3D g_new0(uint32_t, plic->bitfield_words); plic->enable =3D g_new0(uint32_t, plic->bitfield_words * plic->num_add= rs); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &plic->mmio); - plic->irqs =3D g_new0(qemu_irq, plic->num_sources + 1); - for (i =3D 0; i <=3D plic->num_sources; i++) { - plic->irqs[i] =3D qemu_allocate_irq(sifive_plic_irq_request, plic,= i); - } + qdev_init_gpio_in(dev, sifive_plic_irq_request, plic->num_sources); } =20 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 *de= v, 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 *machi= ne) for (i =3D 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)); } =20 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); } =20 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; =20 /* config */ char *hart_config; --=20 2.17.0 From nobody Wed Oct 29 20:45:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526343115595875.14767979192; Mon, 14 May 2018 17:11:55 -0700 (PDT) Received: from localhost ([::1]:55884 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINZH-0006JQ-0r for importer@patchew.org; Mon, 14 May 2018 20:11:51 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45350) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINVP-0003Ix-1N for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fINVL-0001H0-SP for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:50 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:33431) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fINVL-0001Cm-FX for qemu-devel@nongnu.org; Mon, 14 May 2018 20:07:47 -0400 Received: from mail-cys01nam02lp0056.outbound.protection.outlook.com (HELO NAM02-CY1-obe.outbound.protection.outlook.com) ([207.46.163.56]) by ob1.hgst.iphmx.com with ESMTP; 15 May 2018 08:07:46 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by BN6PR04MB0404.namprd04.prod.outlook.com (2603:10b6:404:91::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.755.16; Tue, 15 May 2018 00:07:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1526342868; x=1557878868; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=iNVscr6/efulxJr4wkfDaJwQzLD46zuF2p01ymOMHfo=; b=FNVFsLBm1kcmJlamrRBC5P6lBUnRZEXmifntR6y3pevZIEI+KaJfepCX oX0IDez7owgDFdRXPF6mZpJKv81FIasIpMNV147jtKjiu6yU9brII9iWZ +UEGYihRrnrOpu/hfxV/54F2bOq6nCClZfreaKtBOxU8JBGbLP+4sKN+T 9Z5WTGRjSngrozZ2lwj5reH0peaSI1goLfGZAmRX0W/okDKcoJaCqhJ75 3+7XCd7iKAPZJYECaRaso4yxRDJw3VxNRQKnpH9qW2uYPCGFr3FgwfcDI pgJKC6cWmS1xSnfaNi06UhmGLzHOGs0jCHvFE/KI9VZxnfLMUdmfVik8R Q==; X-IronPort-AV: E=Sophos;i="5.49,402,1520870400"; d="scan'208";a="78815410" 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; bh=/UgjKDfvbCmKCWb8aqfuf4GbMFJvMPB6xKj0iOq03ek=; b=MipIcqjGnQrpVdP6OHfmv1t4Yl4KWBln/vXQ7NjCEm/iHIZYkBCz08XyRGwk6z8SRWIM7oJxHUuqPqqZjga/lCdfXoGnNMjAa8keVlN4wrdF6E3Oq8jAtKZE+uFo2CXSOcS7sUsIuYk2veK7DZ1vNcX6LGxLJc1HTuztwGr20zc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org Date: Mon, 14 May 2018 17:07:34 -0700 Message-Id: <17b6d0aba8f00cf598c066de7aac478c32323415.1526342674.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR02CA0009.namprd02.prod.outlook.com (2603:10b6:a02:ee::22) To BN6PR04MB0404.namprd04.prod.outlook.com (2603:10b6:404:91::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BN6PR04MB0404; X-Microsoft-Exchange-Diagnostics: 1; BN6PR04MB0404; 3:boVgxd2MRR8J03GmOD/oFYPpH3jyz9+yhGPxYKCGEqqiRhByz+Qa63qjzqbdkuhyU/g7U2r2o4Qy0zR5ro4Sw7zY/+9x+HiCJB54GA1tkkeMgdPFWyylITp4acW6tddB3/A0BXPBjkRktFDedRb9RXOpkozo1TEVBnGoO8qdTX6x3F5pWlBMApP2yCKemgjMdt6JQ29uK2n+imzeLpU/v8ybMxyjJncbC8AOij84ba5GKKd1v0uSuTZuPaoYnYLv; 25:VZA0eJUlcJZAtlBmaO2HiCcI0dRCvaJqmM803eYbbZ3tXOF5M7KBPoRG0vaoiyShr000nh4maeeGCNhM0DWyowYs0gv/VqJeGL/qpUYyIl9uy2UHB+vjnQud7aPlpS8dSaPW0e2ju6CMhsWq5n53sU8l3aRN/67XFbofceWVDHHLixQaimvOaXxZxJCcKz5k9oGoZ8WBeqSaAVo5XsCt4w5DkunR8Ou/DQ0AjO+rm+0wkuEWuut2xrJ4Mr5yKPmfUIRe/vULhAvtC07uEHDYx1WdWH3scvzNO6eapE4h6hU6lZ5Kr7WqHUYdbGT5ki8QexCb5CrxJ9fkTLEw62sCyg==; 31:iVmv12hTz/HUR1W50FKXiW2UUhezZcIg7YBcF14e/qyshgFdqHE1EGXaZcUrbXN/+cLKJ8rsopHQJRRq/fV/PjQSokywBmTOyM9heviQCVsL20VZIw2aWcjxyYzjiM1lqV7JZrnyUVmBhuiMLSrG0GKw12V0sZ/k+YTbN4NPfkmZcioSei2sFFEOzl/V1MIyuPv+vahxPLuK0jTEZkmneznxbzOtXtnT7TSrDoVOLq0= X-MS-TrafficTypeDiagnostic: BN6PR04MB0404: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; BN6PR04MB0404; 20:O+8vhKfcUBDRCiAb1XCAh8OHGvO9RHXnAutnH5SrrxDR5Dn4J/CpD1ipgqQNs9WX1xZrfBJsKZ9VNTDo33bWU1+z7cpMYa7flkaEJFy1wl7iqnF1ETjBSepRGMxREkCYf81qXuh7gHXM9AaA5qRAkVA4EoSHGr30z6JW5QqLpjvqz6Ysi3z1ttsFM4GXgh56qzhn+kT+smRKZ4iOXEOKpAf1Lpql/bwdMrm6RmW2OjcxLVp9slchnPMMNecKXIgnqu3RxKQLTNWx7YDcY5VoiR4d06BPtWpbuct0ufmysVv81tJovE8P3byF645VadDYPepy1ltK1xol1CAkisrPLLcNelINMv1Y79KcByoXHqwk6dgsOZAqtEJbJxG4k+A9e/L5908w7OYu4FoDawEdPZhVdB+C3A07a4vBA1QuJkgP+5pkIUmivY0FrqXXaT8EG3oKv3730CgyPHA3BovreWhW16RI809BpjQh1wPZt98IHNaEKntIVVCSiLpTVI8S; 4:mGnNiU9OEumBPsWz/aGd0I11C32tmQmdUwzDBpRLX3ulxIvSFATJ2rowsZKcECNknWIjhfbezb7Kk1aQYb10H2DnBFw9/V57cRdiCv9pw3lf+yoP5xyErMvH0ma6Qhsx/KU72yvjhGRkZ1wzzuAzad1iTCn7Cj9TafWhpmRjr2bEz+Epm6BzOnh5X3mqQexGfTrjF3lPq2RbLx8YxPw428ydSR8YPbCSCtN3QrwSyFoC6dgUxWmenKcoNQeF/rGUHmtoNWubg8qi+DJFyFt8kg== 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)(8121501046)(5005006)(3002001)(10201501046)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123558120)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:BN6PR04MB0404; BCL:0; PCL:0; RULEID:; SRVR:BN6PR04MB0404; X-Forefront-PRVS: 0673F5BE31 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(366004)(396003)(376002)(39380400002)(346002)(39860400002)(189003)(199004)(44832011)(2906002)(16526019)(86362001)(486006)(26005)(76176011)(5660300001)(186003)(6506007)(386003)(36756003)(66066001)(106356001)(47776003)(118296001)(51416003)(956004)(446003)(59450400001)(11346002)(476003)(2616005)(52116002)(97736004)(316002)(16586007)(305945005)(4326008)(50466002)(6916009)(25786009)(48376002)(6116002)(39060400002)(6486002)(478600001)(72206003)(2351001)(81166006)(81156014)(50226002)(6512007)(6666003)(68736007)(105586002)(2361001)(8676002)(53936002)(3846002)(8936002)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN6PR04MB0404; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR04MB0404; 23:MAngyQd1B5ydL28kA56WXTVnB7Fu+0YKCnD1lvYhg?= =?us-ascii?Q?0AD/SiaJFmZn58umOXAbbsgyYEdQeFDCiu1+4dLrYjl6Fj02MDW1bVbJhpeO?= =?us-ascii?Q?B0ATV+DUcuaERAGYPGotcvAaYkqTrPeHhm+myTbZxnUWS5j+QNZtMnt3CGwO?= =?us-ascii?Q?ysCKa5BAP5kPatvJE/OX7DXzhcQhRnLygcchDVuNxF6kKMuvS5+SHg1OQQEq?= =?us-ascii?Q?0jBrIuk2oPIuD1NxHzeEryUvHZ98m+cBXSUQaSMjzuAWS0FqTB0NIxiA8l/2?= =?us-ascii?Q?of52gWyG3ZZjz5SsaAJo3rHvND1yHZen7lO4I8WjKhKOCsTR2s9UcnP8ZABM?= =?us-ascii?Q?uZVlp/lhSXOt9/iAKnHscmigXA0GQky/B94DMqU0DNUJK5GBf2EMeOw9FvZs?= =?us-ascii?Q?vkh/GjMRUeur2mvSsUCC3YrxcjNUEYfMLv4UyiNCL6+QlO3KAg1q0697vSAp?= =?us-ascii?Q?MGKIbsefKYY6IUQdWglV713Ez3GAebISQ9vWelVfM/FQjBwVgVep2+6LuRP0?= =?us-ascii?Q?lYuwCgiIVWgx98QLI0tehXJEa+NnO8fN6Uv+ooh8fEiRGmSY3UyZ/O4Ev5vN?= =?us-ascii?Q?jJS97QbGHQn8yjGYIuoXPXXmaRsrvLMGcfi5iMRVoSvhgL7jvBBNeJP8WSmf?= =?us-ascii?Q?IOf2VGu6RbqAqzSWY9lq7+QdbkTSqW15BRimsPrYV5ePpkCv8gtGzgRHaQJK?= =?us-ascii?Q?0Ozy2RWiEaOcCNnB4JYSKN0Yhl84ne+aQrWHzKBiGtctlSw991wYwKIuPLK9?= =?us-ascii?Q?u2OdIE1VeeZKu8jX7/OHeGLlye937bHN65Snasieq9gOCo1jOEfNNrU9YIo/?= =?us-ascii?Q?0I1zlsRP7wklbLF+wDqkw/xO2IO87ImPl24Lm9pbnbhnkgXtIOUl0F3aBYJq?= =?us-ascii?Q?OWfUYDOUyacdx5CAQ2kLCAx+6xQWLSVJsKBBYCGDIFyH6TqGpjyqJwmG8csG?= =?us-ascii?Q?KvAlSeNxgFQKgQosUmkH+lXzjmfR+p4unMrhDJDKVlmBr8ufSHWeTI+gMQJP?= =?us-ascii?Q?nKXFiYsxUBVS3FEqLGG36APlXmlvZ/lmYP7d/QM2DV6GlnFiDoQkQssCmPYQ?= =?us-ascii?Q?9/Bj0ezUTUzOoANBbEVxlq8G2UJK8LwhdGRCnU2DZCats1aqR2I4EIrv6YA7?= =?us-ascii?Q?egBu2xAZ0sAceOv0wd/pGaNG30SMgnbdaaljKMBMraL3kyf0rW/5WwTqW/dL?= =?us-ascii?Q?EgAa7O46IjqufyyYpv/D4+RHiQ0h3ExX+QVm+xzSHICowe4W+HKUwrfoP1cG?= =?us-ascii?Q?BcTwHX3vKtFvNjgQkq2MnkEjGcgHJFJBJwErJY5+DhHw2GO4ppJ+RdTd/SEZ?= =?us-ascii?Q?w4pteUZgKUp0xa6ZVzeJRruwo9Rf7ZcBgLeDd1Q5Hth?= X-Microsoft-Antispam-Message-Info: k0bdLWl/5JABMEpzSio6pOMNXAiDanu/dn4hxLSBOH3/uNISqcq9vhkVUwed5AXogYq16TjnqAdDyabF5Dttw5v4sz4egqRwHkU1Lpk4ZDjYDtv14+v1c58Lv/nuE8xghJAIByxh2ARjaAcA5pSzYmogdvY8/M/Q5Jsh649OD1u/JBS2IOWrMrlhgWfAIY9w X-Microsoft-Exchange-Diagnostics: 1; BN6PR04MB0404; 6:19Q8exUWlxh9jwMzaV7C7eMK58BLXpX1bbi0n2tqOYcAI+EO2gCG9kzRpGk5PlUiGik4aEF8pfhWNUm29MSExiHtRHAInyYhv71UNpbD2AKmVXzV6Ia0zqV1uub8jDjjdgBDy+XToBdWliAeUIOWOsxFG3GxGhQLe8cbiUVHYwiHwcjaW5kJOzqhIGl1ftgOke534J6PUsEUC6chn0FVGZecjthdtUvzLIduUlDuIzSwpv13ZXxaVg5tQZwB9WHx5IWqR7rQm3IuU43p2TTzPsmeoxWNEqPFwlE/kWYPDrPAxzIQfRzBtzxravJrygk0GVZfhzgfZm+OEbK/O+w5l6yk++aO3hBpV7vULTHLRQBH0lZiec2rSErtfqNApLLZiPls47wvcin2LZ2Mlrmcr4TiWrE/FB4UrsQBukwZd0an0D028E2VJbxU+rjHRZenQsDzAFx8Vy2+dQPb7ucJXA==; 5:SXD667sw8vMabHe6rY5TfCQQq0BLMuXL53LCureN/YKSoeKb+um2eVCGM3Jd4bv2Udigm2PFUttH7hONmBzf3NYE0S1u/wmbLH+QEB6etMlyScSAsZnG29bxRsh/MrRD8ZEyUgGoUupC1p015/86i8/J15JQFnx8A0ijcMtlB5c=; 24:UF6MipRXYgO83VmTHE3r6T5dvjRntmp0q8tKZ9p2JX6Qdk3+ZEvqUNTQ0BxqQXV20duok7222YtaKwAYPOi8Ekj4cf2FWQ0gLDAzgwLzvdA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR04MB0404; 7:8EZFb3SmYell8RjFAabOW4vKUkZqt2/eG7YF3bxmahIlsuqfKBvMRAVw/Moj5aTa4KPCHLWxx3GJ4Bdk6yjgiiP3otREBBkjrzfHEjPJ914HuSuRq50sHWBCVB2bVEejfctrPEOarV1IP6ken/t4GpZ3e6cxmb6RYkAvbqRn56UrTpLiBu2vidqs2DFHNLxhTRkQtkIPHoKw+Iw5rsmY36R+2kV5U7rXP0psdArO8z/lXlitdcAJYaV08jaMV8ih; 20:dWr0g9Z0r3qCpRhhg+V0p0hnnJTLa6B38OoMsrlpIrxR5tERj2Ay52IhS6TksT3Shg7oXWuK2mx3LLSfyJEB3apYjyCUJTSkN8YCA46Cq5SizMrsAyZTmdUkL5V/GFwsKaHQvU4gVa1xW0J0icxA6YHfdrJfZWXOUtOXnSIU3yM= X-MS-Office365-Filtering-Correlation-Id: c8b602e0-d9d0-486d-ddbc-08d5b9f7e268 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2018 00:07:44.5470 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c8b602e0-d9d0-486d-ddbc-08d5b9f7e268 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR04MB0404 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.45 Subject: [Qemu-devel] [PATCH v3 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, mjc@sifive.com, alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Memm= apEntry *memmap, =20 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); =20 --=20 2.17.0 From nobody Wed Oct 29 20:45:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526343234591628.2838910608021; Mon, 14 May 2018 17:13:54 -0700 (PDT) Received: from localhost ([::1]:55991 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINb9-0007wO-Jm for importer@patchew.org; Mon, 14 May 2018 20:13:47 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45394) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINVc-0003WJ-BP for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fINVZ-0001yC-21 for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:04 -0400 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:16831) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fINVY-0001vG-Ky for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:00 -0400 Received: from mail-sn1nam02lp0017.outbound.protection.outlook.com (HELO NAM02-SN1-obe.outbound.protection.outlook.com) ([216.32.180.17]) by ob1.hgst.iphmx.com with ESMTP; 15 May 2018 08:07:59 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0410.namprd04.prod.outlook.com (2603:10b6:3:9d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.755.16; Tue, 15 May 2018 00:07:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1526342881; x=1557878881; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=mJC9mQdtz5W4hs1sHDTziPIUySDOwPLUQ4xBNmbX8Is=; b=rkIJpa4hHidIBCN/Y8YKBmcPM7SgYbsoasqLUHp8zmfHb0SSvFEZTQLU x5BZELrSbGfqSBX8RHYBpREGBLwB0FgEKxKhc8w0vSHX/DBv+k/9gDO4T yntV39ijCq+JVBjwsMMIIkmXvNheaWx5MhDseySL4us+q1MdKHbvFhFlb RYrG0BH6VGfPs5IJenrqaLeGUxaR7mzliuDFMTJnEhispAn5xpK1NHo1J Ve0pwiyTbIieo3+Aqu5EkHWDO9bNHcJdgpgm/9LCNzv8EG46Rk5vnPqNv L36fDPPCsYBQFpwg8X907yuFi/q3ZjPEd4c0pYKgITdNJNu7Pg1cP668t Q==; X-IronPort-AV: E=Sophos;i="5.49,402,1520870400"; d="scan'208";a="78159665" 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; bh=I7HS0qjPEiMih29fvru+UttoIHr+eq+g1jHQUTPaIHE=; b=LpsRpNaN+TTbhSsJPvbnfNLqNTcvXmhpLAE3gSlkk8F8f8Y17rmcc62rXZ6HMy+7LrRTuauj+xMqmCqjXpmXhx5GI+VD+WSR+rhs+2MxhZDBj0NJnyOLYLjz7oWxcUo9p80rjIiI4i3OBxOuCIG3K+G5DrBtahv2h7ilAamXBu8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org Date: Mon, 14 May 2018 17:07:48 -0700 Message-Id: <17631408b4e0beb01cce1747f97cc825a3484890.1526342674.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: CO2PR07CA0061.namprd07.prod.outlook.com (2603:10b6:100::29) To DM5PR04MB0410.namprd04.prod.outlook.com (2603:10b6:3:9d::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0410; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0410; 3:z2s7ynjVjndabWFqxjXNlf05c77/z4dY1Dj5O5mIragoN18bgkJT2klHbNG7O7+dz/96UMvH/R3CdAMnQKzcsljDLaPirrEQt2IuFqBpNZmu4RFFad6DgKMSpFgBXPqOO84X5u3Op97RAny5kSi8xVhSFyuuors45TltKJ7Pgiq/VFw/NC8BiaX34cNsuC0xlQub2LvQ1GUGyofcM5kNiB5HaaBGEF4SoHsz8lqRCIh9Vzu3R+ozGOrxd9INFTjD; 25:a7B1BvyGZMrlLO6JjtDRiZGDdNoIxBbk+JD07ae8tXQVBbioR73Gu6eL6IeuAT0eWMNKZaBgpF5rXUCQeW1clokq/TF2SHyCW8gPehFYK2IEbR3uxwT9cR5Bkow6yxoMeTfiHKmM6T+GpwhvPZpgYoaWpFLpfW/5Gr5KY9ZctcoRCNxmm5gHrZhiRQVAeyicAwCyey6q3Me3f57hZi/w9WsRoOcKBmy/r2pQ2ngE0Sc2yemZcpmqOzL9NVIpXPsWfVxjLEU1vHGycgmQkrl/Vjq6/Xf4Jth+8Ek3Ii0gXo9cfqWKhdoqpO5aca4p3/nLnvoJopKrO8h4w/3fuFz5OQ==; 31:3cJvUKbodrpz/CDsYfzWFGP2mk5sNoD5QXmoVoOd2XR5Dv3KJhYsvN6e+bLf6SXZwzMKfqzOn2/OKm7InXFstPXJyyurwP94Dw75fv5+zhBAgjEKxEeQW7xOSc5lCEUolN93GPsyWDRsUl5iNOHY+9CNxt0IOtItsCHiQiNM9Ho3lP3YE+4uZZrAOftWY6iX5tR6jkYlD6j2TodTZu0ViTOi5LYNbh2EzWATg559x6o= X-MS-TrafficTypeDiagnostic: DM5PR04MB0410: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0410; 20:wWnkwIFcvzaiYpD8Xcz8Crq5Geie9OwobGeHRDOD/uRgX7LWnC744em632igR0+yUV5pVO4s07wM4v5nodx6fhtz6HR5drvvmvXohEzaHfwcy3ZKcIeyWcGebbpKUfcBRfn28bJh65F+nMg5/QDbt/ub5VIbpacUP1pvCUTW7TtCXFyazUR5j3KKmH8CxjARXi8MqCsFEUATN5Q+jBGmn4u8dz76zLRx3+fg4OsiX2W/hwrlT9ZPw0G5Dal+5aocMBFHfUE/plxHKygIAeXavO5aU/fBNR1iVa7lVqnePVLw7tIrIyqRml4zbyMbwgZhha96tHuGMVCxG7aWdgHJjpCp62rhSoIavSxSX6PgxbGE8ZPzVU4Ivi9/LILZLhFPkfJZHd0F1bjBV9m6BT+qofxeDFbIq2lEcp7HD9fIMvy/ClVRHGJYcF8B6Bo7hLaB8X3NHOkSJYAYbwC+d4SICxvUd9bt3J7toua+4zhGMgmWSv9G9MDPJorg+v1hXLxT; 4:Hu1MEVXqGZ4CTLZzDG9iPPSzpvrzTHd+lZBXqhyK+JtIP4u0EnnnyABhZ4fkJjz+avaofEg/ecQP8KRz+o1EEweQ/7IBa9PiN2iH2b78WUN7UMsXPjtkfByNhbjlprHzfsqGlqOiPRnFmNgv2V/hlpB80UHKloHAbxm68zbABdm2Xp5ENRGkASoe4ncm9e3TdIuyD5IC/cF/5oU+xSpqsvx9qva8eNinmWJiE30N4A2UuzZaGKBwMYWJ4CYVR1cMLDIFvjEyeavPP1wL8k6qvQ== 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)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:DM5PR04MB0410; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0410; X-Forefront-PRVS: 0673F5BE31 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39380400002)(39860400002)(396003)(376002)(346002)(366004)(189003)(199004)(386003)(16526019)(186003)(2906002)(50466002)(48376002)(36756003)(53936002)(72206003)(105586002)(106356001)(6486002)(6116002)(50226002)(47776003)(26005)(6506007)(97736004)(76176011)(2351001)(3846002)(66066001)(8936002)(51416003)(52116002)(59450400001)(39060400002)(81156014)(956004)(4326008)(8676002)(2361001)(476003)(81166006)(2616005)(486006)(6512007)(118296001)(6916009)(446003)(86362001)(16586007)(6666003)(44832011)(25786009)(5660300001)(316002)(478600001)(305945005)(68736007)(11346002)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0410; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0410; 23:7gRdTUBD1Gs2LQw+kL+roeQNuPZNifeQksjFg2Cx0?= =?us-ascii?Q?+ufnypVuVzXxXfudragtWX1YDbd6HHGlr3MBcFp5VERmRW31n+l+9bm7KJRP?= =?us-ascii?Q?E9555RpPZtj9OXCUxAczQk04jekbJzCu3hOCsqF88RdulU98SuskzstUID89?= =?us-ascii?Q?QVucNU2dvjIUVE4e9VENmsfnxv1l8nSsHeAKSLdY4u8pM6R+MusKbxWdsZDP?= =?us-ascii?Q?WXoZ9YgIApVDwzhNeyd1FJ2rsW8Od0vmEMr5kvIdTpsDubPWL3JdpVFKL9hR?= =?us-ascii?Q?FnGenoq8EmT/oKy011cTyy+C3LR/+TnsaosJvflyNLfcfOM75fJxYDV6+v1U?= =?us-ascii?Q?tW1OSxc5Gcb7kJv7rKbKnec0qE59ZKAH6oA55Cz+wPcFs7jl4TLVvGvxHROH?= =?us-ascii?Q?EzpsGohmb4SW9Kdax3ltrJ8Wu7G+bjXyxn3XrUHv89QxEDdyAPsc60D4jOnu?= =?us-ascii?Q?jVRL/6pHJlr/Lu9o4exIxmP7OkBMcF28mLq7teneCkrkzwN0oPUFLIZkARpy?= =?us-ascii?Q?K2n2mB9oVD5wz5/Ef1TLmA+PNr41WC6R7oZg1s5YzSrCqsMuF8UVf/1fvDwE?= =?us-ascii?Q?nRbeilbwE+IsyfWvjTNBZrfS5sgjKP18APXs6vBi5BUQ6VYQJghTX7TQd+ZU?= =?us-ascii?Q?bVP4AJtnDehuT+/NHyMhHiLmn+8XFnC+9uGC58d4VMsbPz2rFKKFxuP+Tgae?= =?us-ascii?Q?sdUz9vImknL9RCnN5Pi9GZWJ2Yff1h7YEGQDr2R+x2HVePj6l++A5TMCfbw4?= =?us-ascii?Q?NL5YmOCiY+BFeYMEoz6P5tF5as+Mx3A4M0XDvIYOVRJdii1aPyUdqCH5wAtL?= =?us-ascii?Q?+qm8KzjmPTKLzIkAUrCyk3Tu+L9yaKGF8AK+mJ3UZn6v3JhobbkQz8vWDKw3?= =?us-ascii?Q?NHPT71Or1sT1PPbyoKYkFCZIipUUn+3wAm4/DCqjH3PhZAqT3RcGmdmcu2mw?= =?us-ascii?Q?CKDLBpkzcWSHBDbM/PcCbC+lXxcpyfOp8hD1FBOGvoh7nN1elUA+TipyiEGa?= =?us-ascii?Q?LcwbuKIezMJo6V0Yh0JBcQo0VKbBZhmJ7IA2ypV5oHUrVVdwCgYy5CTleKQ0?= =?us-ascii?Q?bF2kdb9LxR7JDodXcO/zOVCalvnYQw3VAW0+YX8Fbnfs3PxyrrlIQ8nne9FS?= =?us-ascii?Q?De8TjsuCjLVn4+yRyeyrDqwkvBj/zkSwJ+pdv1GABb7HH3IR4WXCMumHRVdG?= =?us-ascii?Q?FYkeb6J+9J3pTAqV+Xj2ylGxov15Go4VFsTdMo2/tEioXEDOhCmm5R7cWaGd?= =?us-ascii?Q?5JgnuvHFSQA7QnrSeaOYjpV4wntsRw2uN92f3v2ebsqmOik7Hr4GALwOG54j?= =?us-ascii?Q?83tfiDd4WqbCyDAvmmv5y/DAP+0VrvFURvzMBjX2Ska?= X-Microsoft-Antispam-Message-Info: iOeMOtaK/1ktk7Jzlx6wwg/xbfRHGzG32mpRdV3aoXHI22frqyECqyE7cflv9sZwelnAyvteJQa7k7gStQbzgHmRjW6bXrZD5nhcvL+Wu2ulQsfFBXQsKLDk3TluYyklx+VYAKFAHdabTFSZdugkS26ITeNhqUkwFzDtqjsywfIw6ZKOBIkxDd0ttSc/uLzg X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0410; 6:0XAYAIaX2jsMHCaWM/WQIiv9ljN7/1YQ1vyVHDyXAdLAfUEffM/2rkZw8TyJ1+QKGFl3yOOMKvqaZkIN43T2AGt1chf0VjEs+d52Uwu3dNIyAGqESnHHU1V6K5UQV32QnST5ZlYI/5C0cljGvT7CzrFMVbGzeM95gr5GFzHVa/FWaBc6+HzH1L8ITD999A6Qh+gcVB8vyjFyJBlRJKRVwrNmdbhFwbbs3N/i2vmPTJerzlNmPwfb/gqrmNVz+gg5/InRhbJ3Jaz7ZzaItiXXtlLLs2XvEpR9SmXsnuSkMa68Vj5vSmsa4he3RdY+L36479yVmKfeDT9/BYhOyYIY2ZVnKumo1VWlwQyG9d+I5u80dSZ+l9f5gZ5i3HR4hmH0b0HKuXglaCk3ekaxzoEd7SjbYSxflC1MeOdNW89o0z6dY1aorL173JlTTcuoQ+w5uJBQHaO+w4NVS85vDLg59w==; 5:Krl49TBcacqY8lu3PcmqIwu1mrlQ4AjR99Q+79mRDxSiYtR4C0MagXWeRn4dAU+n/EkeMf61ZIOKq1jnWyCXKdd+1OTTgypbN7CA9hvMfDrMlzkPK8FTLFmQmUcy57y1jgVyQZUUY262fcqknvqFDi319d2IXYO5ef9d7WkksfU=; 24:CeffiO7iZK1yZ00raobICFenPg/AVoiUOB1HLxF9cveHAz78mz+cSXp2hc3KjCIQ13KSxfcbVJhp16lzTVT5EhvCdgb8GOW9h1K9tNSobso= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0410; 7:QPFC/T0RNobnwxcaWN3eUPAthOyYBgPgdIxQeTHdHsI/bchXVI7mcV42I3eaCQ6are81dtphgYK7XHJAVCmJ5M6N+zR/H3bCoT7pYjAONFsZdX5vlYbxB8DcK9rS5nEpDSGUzkFdhugta6BgdDG52xmTnYxQV3tqCqeGVepob2FRU6onHfyERR3vcdHk5iLHqP2gxxYcAnW0Lr2YNJTwStN2A63wt77d7gZBbvCLDy7DQHQ0fmvCbB5V+611g0Im; 20:+lGR92dHp7kj9uOG9toELzzODbz+a4zIx8koSPCjuOf2Z43sHL3jYPaBM4Us8fggKbEhVP8dkgtQ6Lli8nIbozLEVz6UbITJrzTgScIbC6/mj/9z8hQUBcMZAjL4m/9MpaUGFEssLBhaCT4oPH4EQTl4CJ1g22wRgJ1v4HkSnIE= X-MS-Office365-Filtering-Correlation-Id: d975ef7d-61d7-404d-8f95-08d5b9f7ea15 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2018 00:07:57.4385 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d975ef7d-61d7-404d-8f95-08d5b9f7ea15 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0410 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.144 Subject: [Qemu-devel] [PATCH v3 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, mjc@sifive.com, alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Me= mmapEntry *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 =3D qemu_fdt_get_phandle(fdt, nodename); --=20 2.17.0 From nobody Wed Oct 29 20:45:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526343191866442.37275178343657; Mon, 14 May 2018 17:13:11 -0700 (PDT) Received: from localhost ([::1]:55976 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINaZ-0007Un-3P for importer@patchew.org; Mon, 14 May 2018 20:13:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45436) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINVn-0003eB-EP for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fINVk-0002ZA-9H for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:15 -0400 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:58468) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fINVj-0002WS-SR for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:12 -0400 Received: from mail-sn1nam02lp0019.outbound.protection.outlook.com (HELO NAM02-SN1-obe.outbound.protection.outlook.com) ([216.32.180.19]) by ob1.hgst.iphmx.com with ESMTP; 15 May 2018 08:08:11 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0410.namprd04.prod.outlook.com (2603:10b6:3:9d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.755.16; Tue, 15 May 2018 00:08:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1526342893; x=1557878893; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=JQGr7VoM5zIX8DdRJpFGN3aFzupqRlpmSz7VWytffJM=; b=AlS56NjAgeseKtBtY1qqxrwfpD9Xs4N5FfIUrjZz55obmsoDMUSoBTeU ZyIWClAsIrVYo677lpMn/sewubyvEmUjHVgrSL0XkvdKFoamzpu9E6B2f XUM56tQ9k7f3iYDs8o+A2M3gurfHkrehN3En6z8XopvkynI6BFl1HO+jK ZGfBHwP+Lt37Q/HzPo6lYUPRlOdImKAoBMQC+iy4NZScFcJY/MM1o+jK+ iJig09OSoaBCW9Emkk1udc3DJitR5PBb6wlqvm5rlHNDcFJICJL+3Wu7Y tRVKdb3EpdMZ4K29j8TFaitaaA6wNBGG+NxkgJpik9xNx5CHS8CYfadox g==; X-IronPort-AV: E=Sophos;i="5.49,402,1520870400"; d="scan'208";a="78159671" 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; bh=tuJJ/eFkZORtqJY3OhCDJbRn640DEI4ryHrbzpsrpvQ=; b=As2Xs9jvwm0iPVoKn6W7g+vZpRb7yX8SAjsn2Z1VT0z+gyptH31QlwPZSOJRnIZzfuBtfOJ0OM2WIjjgs7ymvbDOq/vfiPOIXVhKNMjAOFX+j2T4l6RPjW5H/2EcMvUychWDnizpoZJ6G7XCs319ZD6wimWeGYfsu74jUJc8sHU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org Date: Mon, 14 May 2018 17:08:00 -0700 Message-Id: <17849c31b5b8e57e2ae61852edae8791f672801c.1526342674.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: CO2PR04CA0105.namprd04.prod.outlook.com (2603:10b6:104:6::31) To DM5PR04MB0410.namprd04.prod.outlook.com (2603:10b6:3:9d::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0410; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0410; 3:TS4VQhCKmGev6fjNYc9r829r8AvZ0YFjhIA4lKwrNRYmATgdcmx0xhtZ5YBPat6kUjPTS64XWQrKAnJHzJJ08ZpypMZL5w938gRkaq2sqQnJKcvbeyHPiE7uFiHajNEl1poMFcYk4aHv+ao4dKFMC3EZblsL73KsmT4w2saGJuNaGQzc1k62njz67AnLO03pIgx8Xphfyn7I0KqHhbDcWaktNuZTu1nVfaYbCYVcLRiLVANqPsAvZYP9liEjsXO8; 25:3e2qGLAmyxQsZ2vl5LQPFf211MCSL+GZeopD2aF+F4rANv5TDVG6xRvhQbx4tP+vDKfrkMZyp7LIXDBDSq373lA5hYmKK9jfVeEtGPjyod/9v9L3/gNiVLKLUHyZj7tWnEwyZN3YwK7ACoWhMUIrp2pQzdxXK74wjzCbToReBCsEO8CXWNGYKJ+xAiFwqTVVuaUfji4HaHR7xM+X/zbOwMIzgSVLY7jfWUlQtPkwJonHrfxSAYcx3dSFnu/HqWxYt+NU470AuD1ZvdKbeu1/Za+a7i3Nn6bZnj3rEQle/TznBj7677uxIJLnuSfGalIsylQemigkmlBK+0mmxbrKnQ==; 31:nf2njYMsOEamcQQhBhqACFgtgYwid6Kmzcrx+5qrhwR+k9kwvTZBg24a93mPQdW1ruc0EOy+unI6c1uT/WD9U8LM6vDJDx7+MBMLnD1MwjVexwKB2eckpDfbMViGlqgQ+SiKba9r0WbybOzQaFxOQ0OtZWu4YzluUHczQ1tFEc/lCOmtPH95R9mfsFo1fuQyeY1UFHUA40p3SKtUE1XCBWZDGy4D1rv6Q9BDGrpOCLA= X-MS-TrafficTypeDiagnostic: DM5PR04MB0410: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0410; 20:ln57P++gaLmmR1ml4gFiekUJ50nF2wVWh8kl0WcukgqoKXOE0TkV2pcegMbL+uqSUWkZDFZo5v2AqU8AoJ0hTkgBnXdtqM0nT+fzcEo73UyFzTxAkS8gsxC6ctGxVdbM4+zbLji1AfQ81ewCymlPw7dPmQUV1LW6NkpXZk7MORoMPlFo9p2Wj+D5sK/YvL4H4r2H5IFzHO9cMb5ulGJhPYUuxSe0wXIC3EI1dn/ieuPuixJ5lsx2jKPGh47uXjFwTRFrf79AV5DuIC1U4NpPs5Gr7br4M2tLeArbYbkv5q7HiKFsoPcxGfZYA4reC4p5mAG2uYRKx06OXo8g8CQz/3KgLptiHnV+71itEwY4O5+ilnRjXf8gOaCYTOdO7pUhRtdvf/v/ZXczdJ6E5qqFUi7qEGswNbb7z5QxDAxt6hej9PnA2jJ6fb72753y7TajYxJuSbNLfFtRSmsfwGQ6gigZ8iurymLV4DACld9Sn6vI7B/z5iqsfso5nj/M8qC4; 4:U7Us3iD3SStARYWlRJgMdAyeI9EmpqFdclFyFjQsSdRxC43yN7edQhjYSIYB0dwh9THQ6Bw4PNO7uTd6xneFqIedkiutGSCxY+ilg4dQLbZ+xecdfO7ekZtH3O6I1Iw2YJqXmrw7DZXxKKxl04Hp2nchKjdiDNxpMbhsBoF90U/BWxVOVMFiKnEAga+rXO4Dze79ongmm9dNW3wKtcx8ykbWo8+oHbK3W3+MCQsleRl6UZ+oTbhXQgK02mVYukzZyWN45fCKE06K8uChmiJIwA== 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)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:DM5PR04MB0410; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0410; X-Forefront-PRVS: 0673F5BE31 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39380400002)(39860400002)(396003)(376002)(346002)(366004)(189003)(199004)(386003)(16526019)(186003)(2906002)(50466002)(48376002)(36756003)(53936002)(72206003)(105586002)(106356001)(6486002)(6116002)(50226002)(47776003)(26005)(6506007)(97736004)(76176011)(2351001)(3846002)(66066001)(8936002)(51416003)(52116002)(59450400001)(39060400002)(81156014)(956004)(4326008)(8676002)(2361001)(476003)(81166006)(2616005)(486006)(6512007)(118296001)(6916009)(446003)(86362001)(16586007)(6666003)(44832011)(25786009)(5660300001)(316002)(478600001)(305945005)(68736007)(11346002)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0410; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0410; 23:dovJCFp8zSNzBqlL19GPEd500uo8Jmh5s2IQSYiPm?= =?us-ascii?Q?eX1Rp6ndZT64669e7577mB2ffO2aYF7lc0TC11ZW0L0aupzYDnWj49zquREl?= =?us-ascii?Q?Hr/vpOoTgWLQu/MDp5tnS8BXe3Hr4SxHdEhO1cBR1eCP8/y4B/a2jbVq9I9T?= =?us-ascii?Q?DNlKzCUs3ZSB5jUuAQJ6oynZWteR4vO0c0wuTNcZP+1wO8vmFOg6KKkFEYOB?= =?us-ascii?Q?aL81C9XX06Can5Wup0O+kh6tt+LwovQtPsmDZVVv9TqUiRET8vc+xytf+DHj?= =?us-ascii?Q?/vypDYWyBwFzPN6IlhE++rMg4U0KUXHLLX648Ul7xusim4WNOsKCY2accs1p?= =?us-ascii?Q?ynvPXkIF0c7WfKjXCb7zEo0rSkbGBxOkrpTq5j//AjpiJhffEhOzmnKdk8nW?= =?us-ascii?Q?KhfySEIzOm/10N0aC/UIE55k3WRkftFQ53arLBm0Ma0Tc8qAxbF4+M9g7Wh7?= =?us-ascii?Q?CAPCFtvDspekfOj5gM1q88ZNAeBaRGR1kFc2ZU0femYF8pNFhZxRfHVaIthJ?= =?us-ascii?Q?zVQcnF/rmlEiqGekjL6zpMzF/zJyro2zQrDMPY83xKojY5327J1PCdHjwH9l?= =?us-ascii?Q?TyunL+qopx4V8qx4eOQKVYBoHlX0T/4Miz67VeUo9yNnqc2aK2vfU1IvcZ6y?= =?us-ascii?Q?GXdAShDlqmv9AkAVAkcz0ApGND9WEXasNUrbv9+uOXYFV6LObciA/pfjJib1?= =?us-ascii?Q?7P9kNnLcEbTel5yMlWaKNANTrstk5cYRjIBgUdX8a0/dVwbMvm5X0rYFs1I1?= =?us-ascii?Q?YpO3vTwWxaA+8mpA1d+ydkoKV/TIhIzBdLsCYoQCzu0MhG0+U5C0ZraCRK3r?= =?us-ascii?Q?AGYUH037VDQ42FbHAoFDIu78K5J1AIJH9j7JRztY9V/XuFnuE1YlSYCUtIRD?= =?us-ascii?Q?x8KcEut7O4J+9RJD3UvUndGAmVxSLq6nmJU+wvYEN3YBi9ASEsJKVmAXMadN?= =?us-ascii?Q?EMH+8x+DbsR9yDETc01GqH8Qa5PpcPjvx+NjAc7iujC5Jgb+Cnv9K0VJO3y5?= =?us-ascii?Q?+8e4UnCcUkSaayTs7LjX/bLvnHWi72zBQrb9UlrY8J6q01Q90UIxDrc4ZSQG?= =?us-ascii?Q?hSSEpI7UrBjE6wfNUfz3uLQl5GphqqcEzWLRUOKMSybfhM2lzHNUI9w4QlDD?= =?us-ascii?Q?b8uWPVpfTtl9qGFFQL4KhGNRaiUF1SgJv5Ba18aT0AlPFV8JZJkJYDV8sxJq?= =?us-ascii?Q?ojZ0R0hXswk8rz8untLKM8BITQbziKFcQDEKoOjoWwSIMH1cwhfprKjhSxZF?= =?us-ascii?Q?MD+ItBb1lMERA0Ss71/dODQtGrrpiSpUMTBxBVpaCFjGr+Nv8TLHu4oNlKih?= =?us-ascii?Q?wPhHqrHgA/4P9NGIPXHv0kQqKN5W0C6tqpQoDn1DdY5?= X-Microsoft-Antispam-Message-Info: bKPWAO86DSaA8wMgXqmalGjKucekJlAlEUwhQdk/eyTtBpH9Fpq1jvK+4jgIPdzClX/29AyeqCLdYmIVF+NNfvzvoVJKMnbvZV8zht/1QCgSuVjPIdK863SZBoiTMKRe/g7KTPyzLsvcsf5LGXDnsv/GyhSjm8MKKiDa89bcXev/oEvyV2vAYaSede+hFclk X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0410; 6:be/r8CdtdvPfCkC1BBm7P/DkvSY6TUnR9sDUUc/fZhhixcB6bip8s7dQ+VGvieVvFgSxVr3d479PFVhqvrKUGJIUtF3EiY/0XpfG/Dmby/UXIlj0jZvLxcXSMuY+IC2fDLyMKUJz9L1ZZgWGFPaRD7azNoreKH/JUgYjZZVUST7BJjBie/ZVr1S8l2MWPhc6X52lZDbXWJLX2g+/Nz+b2/GMnRlTnkYloklDutkH2tvzb/+FXH9Ra1FXluBSlCAcT/mOvh/fvbfWCD4L728mVO+OAqRrSVUgVzP/9Sr21kMgVuIsgQHMNFlTSnOHtRS7XxfeLT3yxIhP7XKqL3hyymnbbk9Qid09MONDjyfuH12WKDY11HKD3oEMzlMJw8Uc2dG5SAOQG4rqbCGHOreQ6vWCzmM/1NQDNjIGgyyDI+/BxWywnUOfcaV2GbGk50/Vz7MXxjIBhlTD4bYpWymrlw==; 5:y5N/LWt5oAI4VMNQDHQ/lP6gQaKvYK/TvnzJGTr0i51hu005ER6ZLycK9e6hu1Jun9IJVdA5J+feQ1pV5ZtDA9Iq9iYXvVc36r5Eb7KG6f8qRjzi46ee54sErZrSliuoTZiDkapv1va8a+UdlCFMSLy+EU9/T/J4V09ohBfLE4w=; 24:y/xJAWU95Z3puJ9TE3qaBLUYJfk1JSxnmUVKciTo4fGH9k00RvIVnYGbYSu1aSTOYZsdkHOvaPIxTbCnkp5rerhP978lBMnMEop5q8IGSgM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0410; 7:3iAEZVt07YTa0F+KOJbLCbJyxEKMv6/QW6+QdWiVDKKHSrZ4nbF1MpSrEnu2PLKCAO5sZTxue56GSQS5gw6j2/4OYFFAPvUOTVVoKYjsjDrWVc+VEb+9pq3J/rE5vPdOeF2x9+aNu9tzl27bYeIbX21LJf/wf4mUhMrO24DphXwam0E9S8fq2426qUH11JDdmrJwSr9sMwba96ytO1ehn162N1Dak5+qC7w3l++e0bCc3rcjFchJ1ZJ4Ls9Nfric; 20:iya9qsXv1PQGOyNDdar/QW/PXmeUEJkzbKfP7b+7+rglTVA6AfZzz/Vwyp472oZQDa1GfYVa5DuGs2NhdnW184p+F9fivXdk7uBHuhfT+nuxKIh5PN1PqAEfhw/E23mWHiZ2CqK7bWkwVsjPhZCSzOybmpOPqEDLXCnfyg1zhdI= X-MS-Office365-Filtering-Correlation-Id: e95dd7f6-9d1e-46ff-64f1-08d5b9f7f129 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2018 00:08:09.3282 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e95dd7f6-9d1e-46ff-64f1-08d5b9f7f129 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0410 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.144 Subject: [Qemu-devel] [PATCH v3 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, mjc@sifive.com, alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Me= mmapEntry *memmap, g_free(cells); g_free(nodename); =20 - nodename =3D g_strdup_printf("/uart@%lx", + nodename =3D 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"); --=20 2.17.0 From nobody Wed Oct 29 20:45:16 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1526343079076307.8783574596673; Mon, 14 May 2018 17:11:19 -0700 (PDT) Received: from localhost ([::1]:55876 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINYk-0005r7-7N for importer@patchew.org; Mon, 14 May 2018 20:11:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45492) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fINW0-0003mo-Iu for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fINVx-0003EX-AM for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:28 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:57073) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fINVw-0003Am-Ry for qemu-devel@nongnu.org; Mon, 14 May 2018 20:08:25 -0400 Received: from mail-dm3nam03lp0016.outbound.protection.outlook.com (HELO NAM03-DM3-obe.outbound.protection.outlook.com) ([207.46.163.16]) by ob1.hgst.iphmx.com with ESMTP; 15 May 2018 08:08:23 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by BN6PR04MB0402.namprd04.prod.outlook.com (2603:10b6:404:91::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.755.16; Tue, 15 May 2018 00:08:21 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1526342904; x=1557878904; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=Ky2KHFGAFRS+UNuI3h6+ycdGhqiBLCCZpvqqcF83HXw=; b=phSEUFNqn77/q8+goOEUWp1pXhsAr9Z+1uccC7uCbkurN6b3YuhBilqu fxDGMp8pEy8xEIiEwU3afE4YWTVw3sehm140OypO6E8jt7PcSPEsuQsv6 bUDsyo2OPnx+0AY8tDRGUc81LJAKWwwaaUmuiT+HvWq1dsIUo6mVMZ5l5 iemqnxaVL9DVAllLnNPWMgTthLE/SJ1rjm0OSOYOp3PFa/s5XL0OaNmX/ nTWsgtjxTlSzUdFI+lG08UIPI+XX2cVb+2dqKOQDw4Kwsadn2HVGqyt3h aYs2tbc6J4vpqlttiruZo2XSoUFuyYTWAccOKEIhQd2NkA5LyLU1PsWvX A==; X-IronPort-AV: E=Sophos;i="5.49,402,1520870400"; d="scan'208";a="77864148" 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; bh=Eb4tjnqqFQ9qwM793TXbGVlxdKM4r9olB9khQsK9T4M=; b=f1roiLlxk2uc0doGY4kRihp9jVb8hvjDWSBJysATDvAhLGpsaqrmx7+hcaQpwvTMxvbI9C/Tjvr/AHwYizQSWs9Hfc0JiqEr+5j083/6ubLIh1LqwUeCRX9nLFT2mxWSpz1YGLG4sPP3BDIPOilHTppYDg+97WnXX6cKgoQwHzo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org Date: Mon, 14 May 2018 17:08:12 -0700 Message-Id: <0792da3845343ae0bfb4c767a9c7dd87591589e7.1526342674.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: CO2PR04CA0095.namprd04.prod.outlook.com (2603:10b6:104:6::21) To BN6PR04MB0402.namprd04.prod.outlook.com (2603:10b6:404:91::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:BN6PR04MB0402; X-Microsoft-Exchange-Diagnostics: 1; BN6PR04MB0402; 3:HOnaEqsmuLGZdeO/3yC/kw0aUPXE/wizXZNAyJjj++kep234CAM1SIazgdlAJLGSh499q1ta6WcKKy4zpP8pvT21mky3bvfugPGQCsYqIflRTKfEniIzn1/fKLGArTAQgVcH//fgTyGs/H7FWe7BNz00em72WyWXBpAmwcmjL/7121KKqfYvSuCtlJkLytRc27L4woB3BJSDRuR2AS694VFqBjhy3vdYSYfhBQeaWrIV79AP+qXMEDs0KrTO5T/1; 25:19xwKqxivajFQyKh1y7W/4vNL/GfUR3leIizMHuWDNLUh798wnNWSB7d/5HQ3ozgVc5AzGG201et7r7YDRTE9iXEyv6bgYHm8OfOTrNYi/Ox8+cijhqyTMZJyRWv2On5Nbrx657BGHvTpgdZUHQ+QGWtnxkNFLfjmKCHi8DcGQ8NLT4Ybghf/4zEDNQ75sw2+Ns9seNBM5J0i/DNO8ANNKMLMXEk5B0HhMNL+lxl6rZVeMQT1GqfFFA0CVurEmPOU1YjBH7wdBiuODCiN3YkhETbHLy+5HyziO/0Wu+5MoNkqrcFjEy8fzpMmD6+UtKGV85JumShDMHHA6dIx1MUlQ==; 31:E1kiJuyzokjkGfmFyYzrbIzwOK/5bqcy9faN2uqZ1DZHJvRbAtJfpwIxNILtWHz9pKhxOktpLtNQwbdompdHX+yHAzmDxiMBpzSb9EAY3etcJMoTntj17TyZaXzF70P4ewT1MjtLj/AVIBd2q4MFj4lCId6BwJtStAzse67bEDZRl7gfggvX7J3OIs5w4QRfrzOZ6SmXFFKwTjAdOtTIN9MlLS3CLTfEzj/AAAIkwl8= X-MS-TrafficTypeDiagnostic: BN6PR04MB0402: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; BN6PR04MB0402; 20:2umoCbQghGFuRk37pjleGZcUxqOGvlWdtpsORp6QO/J27quEMoimMkILpvSRcKEm+nn4JG4HEVnSm4tCWjM4oTEkJX4baT5IO43gUpBmwIbGHkaaCpN7UT2Ln47OrUS3DMz4OP4e7uHZB78vLq5Ua6PIYeQL/fgs6jwtj9sicA8PA0ZoHaBgFNW3FdhV+37zPE+CGM2QfC0YGmz+Yv7UXB2HbxdBv6trMLq3e7A5XFKjZMATc19bdY6Hf6KusUYeJ/utKpXunpkJiV89cWoeWMW/LdBGQrhtfZVkxisWr1dfK8HXwDU44MeqHSMoCjZvK4Iol97rbpn2DTiipuWsbq7cYcv+mJpAhq0jyiljq7LpSECSCeTM8NzmBrF0hmcmFFTNDcc4yf/pszCh63PpdeYXx6bu5wyt+oJl5r3zaX6VcQ06d5NHUUoNUBeClbMS+GMzGIlBI4LVl9xMFrD+FKN1KBJOtHyw+v2nFd8/zlSBkye1BTNevENmhy1m/eDo; 4:da/XZEa6e9DiHyaBO7j9xc802lHJ9ur0CR00qy9RNYkkgZa9D3boyIUF6MH68b1Lrnf5HD9HBUUyjoGJYL2UQgKk6Z97EIg4/rYPc0PLTgxAg0BOmjC3qqaJj56tM4YKfoliMFCjpZRq4kTsLIPE9NsO/0ouEO30m1AHYQwbkJv30wak3GH/k0ItkpXcbDNkV5uo2XPchNIwl3X6oM7FoCN2TAtsEWpSR1eYZEWVPXUaYHhQ9p9C5uVFZyg6/Zma5V6s4PsLvcfHlPAFvUiW3NTgf991kGLOF68bAWm5Hk3lNgzR2aic3PxfpnbJndMO 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)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(6072148)(201708071742011); SRVR:BN6PR04MB0402; BCL:0; PCL:0; RULEID:; SRVR:BN6PR04MB0402; X-Forefront-PRVS: 0673F5BE31 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(39380400002)(396003)(346002)(376002)(366004)(189003)(199004)(4326008)(72206003)(39060400002)(51416003)(76176011)(44832011)(186003)(52116002)(47776003)(316002)(16586007)(86362001)(2616005)(6666003)(97736004)(6512007)(476003)(956004)(446003)(11346002)(6506007)(386003)(486006)(53936002)(16526019)(26005)(2906002)(6916009)(478600001)(81156014)(81166006)(5660300001)(2351001)(8676002)(68736007)(6486002)(305945005)(2361001)(7736002)(48376002)(50466002)(25786009)(105586002)(66066001)(118296001)(3846002)(6116002)(106356001)(50226002)(8936002)(36756003); DIR:OUT; SFP:1102; SCL:1; SRVR:BN6PR04MB0402; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR04MB0402; 23:FAGXiFrI72lB/O7AJBvd9ZUn7m1IVrp/ol8/ch4sb?= =?us-ascii?Q?Z34FkXljAs1oev+grUl1mvefHsJbPMDvpfw7vTHhglgfhaxbgnqBJWyLLNJu?= =?us-ascii?Q?icQ9pabNzcZbiiLRDx0qLo1ypYT1y8vF3CI3GHH0wm6MHt1sxtfB7C8bGiLY?= =?us-ascii?Q?6la/vphXNdi58o8kPW1JR4xl0ecgtdzuM9VcqYIbqmWOrePhQBTrDuKrUAVl?= =?us-ascii?Q?DZ+wA5rENQjFDQmcgtCB5RWxgwVYGwaXMLMK41U7xN6DV69hYGuSk0GjLA9h?= =?us-ascii?Q?Ml/uS0EzXJyuk9TyRnddrIHXtiM8sg89H5xFxqTV9MiQawyh2XI9hyM31p07?= =?us-ascii?Q?nqtkUItKr/vaEo2AqHfYq/Jz4wNQa1qMsta0XcGd5APRNI+qqNC6/+NTOGjH?= =?us-ascii?Q?b1u6SXsOSy35nWIBb4h+S2tN+4YaK+J0cz61E48377Y3u06KzBEG0SlLZ0lw?= =?us-ascii?Q?kAoIjC0Q64dM3KjKE3TXE8cE1fTrNSYTQc86vE6VnDRGjpbG2+2v0hHZCgeW?= =?us-ascii?Q?AmXjxw+yjLIHb3XsUh+4bnoqOS6tp3pXwJ4lu60ol2+8t9rJk/Ebz2fON0ZY?= =?us-ascii?Q?R+yP0s6/HlYDm4pywd7yhCn4mR0mUi27CldN5rsRy9s9NyXZ5v++tvCcF+Rq?= =?us-ascii?Q?8l1PA2te3xHNOeHrzxW4DMHB6oBDK6gTxp1htIlw1GJcwPBLQakBOWMSVUHj?= =?us-ascii?Q?JdGqLxAp+ZlFHLjOLXbuQrI7k1SdTA3V4PFnpncMNUqC37kvzhMyHDJnGLoO?= =?us-ascii?Q?27hP63WkqGUmMVkPpAnZebOfXELqCfPxWPXm6dpVynn8xCDcozc0tHVZ2hzl?= =?us-ascii?Q?dATDgktmW5ugELmd9xQsnTFhMAdt/Z1/08M12g6c6PX5SDNX/EpRnETzW6pe?= =?us-ascii?Q?BTy18J28EaLxhvgp9b0QJyhMqFshwZc0ZyNTdISOXf0Dh24eFEmM7Z2uBd44?= =?us-ascii?Q?2NdT/D+4cu5AJ5Xm6sOLu57Yow/Ywo17ij6TxADEtMay+7CMXoiX/91xk14O?= =?us-ascii?Q?O9QOuHLItdBESBTInetLp+u+JE/dGthgBusnfHCbg/TJRszO31s2c2bIU52+?= =?us-ascii?Q?4481Au3W26zQ7EX6yAih5tNwjVFFpVNG9I8XEX0fR+a/+5fLS3Nkm2StDCUI?= =?us-ascii?Q?tSky1W3oImrAhyr4KG2s+7UO+S+HmhqJPSNpvsMZTW2EHUyCnrf0B7SSbbVK?= =?us-ascii?Q?2crdVtXrynHh8MYwKteIUKN9USEucoHqurd0vY8DsZaGrTx0yo+kvykFb4V5?= =?us-ascii?Q?bMxGLd41CZYX+9weHN81/Nm3t7m9sWR2DFzdwCHgQ3XzMKe3KbkqHjf17jHF?= =?us-ascii?Q?1+sbaGnI21Mbgd6cDjj3a8=3D?= X-Microsoft-Antispam-Message-Info: KyI9yiCiq7e1sJ2ou+pZs8cL7fdAMjNcQCyVNoF2GEHALje32nvsKb7P5fgqdhRkeC3yihCoLidshHifvQLLBHMTZLXDlcdB6bDZB3K9Oxg4y64mJpndkN2QZOEJV6XkD6TCDE1C9sJX4NSEj9+sK10wA27EIYkw3YMQWfVJsbtZ1xL33/hu9vLcufpN43ue X-Microsoft-Exchange-Diagnostics: 1; BN6PR04MB0402; 6:+/spmwg7AoJQZ7xquGloNGVPsm9VQdanoS1ONDMtcakQ8Gdg5zEOF6EVtTAlvyTmyNsBLugIqOX/H5kles1rh8YwUWLZdMw2sWq2ZolZ/z5TdmyA7kdDAYnxu01DbKBFeAvhOZ2DttDVo0Y3YmmsJthkiFKaAhf5fKMInlZUiAlhrbWEcLAEfO48YY3oqiTZ+facDLk0A5j+FUAS0Lj+HjCq4mTMo6sOIKH9JtxfSt8mzsT9LZ4CndZVUgio5bi760vR9YJeYtncKErpYz9HbKTVkUq9eLOQ1Lbidya5V0a6Fx70J98UW1oPb3uzhnhDFpiMyqwz5tONBSXdMJRqmhIhxVjHhv8kdgVXEHwrantuTP18PVZq3U1HPV4R2pvFctPRO7eTm3kaRgfN9sg0aLvaiiMU3ZeC1V2a5/OJa+yj0E+9V0atnhxirHAWH2vgeP9S/ay++OxdYammFoCCmA==; 5:+jqZ+tkGFVbYmvT4irnOL1w9CD808u5v21Z43XoLUk1yS6PgQVMUM6MAWJgqa6y0Oabj4w3ZCRUjgd8jOi5UV/uzyBbqYfRJpUHE3uj+Y+KwDPym2YIITBFgjFaoHi6Ius7ZuvLAPTUErxkr6/bME+kwEclS2sDT95yv7FXXglI=; 24:aiwZXrOeI4uTLGGfdM3+V6nxSIm9nUKbIWrkwXr0zoQoc57NbH2eW5wJstzkIjXhMSjxct7VApYRKCihgSrwiRYtjm/fNz+MOpobIk6zbus= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR04MB0402; 7:wO/+ZVDGs/FENHoSmau2+lsk3ytfHOVQ4pP1N4ckrxRvpUUUcnLIKh2ISbJZhzrbjjG8J4KwlvK72ec1LaLjRBEzwz7OdoUVSbtQmsc2sUg+vms5JW9aO2RxGzjRUdwzp7RtDJElb4zHhux19Z+pOTFLUqs2om4pB35bfall2pDN4sqVWT2t97PNyci8GFBqDKK1Bb4uPJpwcNR5Yvf+81Jc3TMTqyuwX5wJKjz7ufQvcS+CLaGeYPH6A4lrFWtQ; 20:sIj11E/j01tiqQRw/OrHAMf1WaE/1eGxMCY4iR18ACE/Cl7TqeAuKqNcMzX7OdXCKr3V5ozLV/23uD00pdFyuM1ukbrv/M1hgRCHsOFW2cn3vbypDaME+ljkWdeMVm7I4cnX7OjiQtRNuBkaB+EMD4e2rjZZOix5LAJnJE9XrJI= X-MS-Office365-Filtering-Correlation-Id: e184836f-d2c9-45bd-34f1-08d5b9f7f8a3 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2018 00:08:21.6584 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e184836f-d2c9-45bd-34f1-08d5b9f7f8a3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR04MB0402 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v3 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, mjc@sifive.com, alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 | 1 + default-configs/riscv64-softmmu.mak | 1 + hw/riscv/sifive_u.c | 50 +++++++++++++++++++++++++++++ include/hw/riscv/sifive_u.h | 9 ++++-- 4 files changed, 59 insertions(+), 2 deletions(-) diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-= softmmu.mak index f9e742120c..9a1c42e8b2 100644 --- a/default-configs/riscv32-softmmu.mak +++ b/default-configs/riscv32-softmmu.mak @@ -2,3 +2,4 @@ =20 CONFIG_SERIAL=3Dy CONFIG_VIRTIO=3Dy +CONFIG_CADENCE=3Dy diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-= softmmu.mak index f9e742120c..9a1c42e8b2 100644 --- a/default-configs/riscv64-softmmu.mak +++ b/default-configs/riscv64-softmmu.mak @@ -2,3 +2,4 @@ =20 CONFIG_SERIAL=3Dy CONFIG_VIRTIO=3Dy +CONFIG_CADENCE=3Dy 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] =3D { 0x10013000, 0x1000 }, [SIFIVE_U_UART1] =3D { 0x10023000, 0x1000 }, [SIFIVE_U_DRAM] =3D { 0x80000000, 0x0 }, + [SIFIVE_U_GEM] =3D { 0x100900FC, 0x2000 }, }; =20 +#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 M= emmapEntry *memmap, g_free(cells); g_free(nodename); =20 + nodename =3D 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 =3D 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 =3D 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()); } =20 static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) @@ -303,6 +330,10 @@ static void riscv_sifive_u_soc_realize(DeviceState *de= v, Error **errp) SiFiveUSoCState *s =3D RISCV_U_SOC(dev); const struct MemmapEntry *memmap =3D sifive_u_memmap; MemoryRegion *system_memory =3D get_system_memory(); + qemu_irq plic_gpios[SIFIVE_U_PLIC_NUM_SOURCES]; + int i; + Error *err =3D NULL; + NICInfo *nd =3D &nd_table[0]; =20 object_property_set_bool(OBJECT(&s->cpus), true, "realized", &error_abort); @@ -327,6 +358,25 @@ static void riscv_sifive_u_soc_realize(DeviceState *de= v, 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 =3D 0; i < SIFIVE_U_PLIC_NUM_SOURCES; i++) { + plic_gpios[i] =3D 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]); } =20 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 =20 +#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; =20 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 }; =20 enum { SIFIVE_U_UART0_IRQ =3D 3, - SIFIVE_U_UART1_IRQ =3D 4 + SIFIVE_U_UART1_IRQ =3D 4, + SIFIVE_U_GEM_IRQ =3D 0x35 }; =20 enum { --=20 2.17.0