From patchwork Wed Jun 27 17:44:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 935640 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="Lop8Gavm"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="EJv5H/L1"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41G9Lb2LVwz9s2L for ; Thu, 28 Jun 2018 03:45:59 +1000 (AEST) Received: from localhost ([::1]:60681 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEVw-000431-Rj for incoming@patchwork.ozlabs.org; Wed, 27 Jun 2018 13:45:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49245) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEVH-00041A-VF for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYEVE-0000Tu-J6 for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:15 -0400 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:46698) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYEVE-0000P1-0T for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530121511; x=1561657511; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=QWL4sg+r8fWzmU9vqIsxhgM+Zr3dXrL5AYq6SnOvmdg=; b=Lop8GavmuGCnzCOYvYILh9SnP4uK/uCZEk1dVqJN2XtV/e3hhSM0j22n guGBIuYeRIZeKKO9Xc6fJgeVQHTaQgKY7fJ9VnRPl6AEBl44dEVkreEwT jsTS94h9iADTvTlu5ZCu0MuQ7PqjIDTF0An+LtDEwp5Dw+CQ/M3S2MsVm 3E8UQWBVeDnW1zkNtWnOg5xFXKrUaKKNm755HXoSH6pwoOfoxJtInKZ9k 5UwmOnsHSto09j1FZqM6V6LcTdUiS4BBldlYf+TK91CYX3X0CSScEkuoX tL2yZ2MkWGxQzADB9cYHTWwil3kYKmQTKDPFsZuIwbxDmr97YqTrpf6tW A==; X-IronPort-AV: E=Sophos;i="5.51,279,1526313600"; d="scan'208";a="185607651" Received: from mail-co1nam05lp0088.outbound.protection.outlook.com (HELO NAM05-CO1-obe.outbound.protection.outlook.com) ([216.32.181.88]) by ob1.hgst.iphmx.com with ESMTP; 28 Jun 2018 01:45:09 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iugC6atpqNXUgJ3fkZK/Wb6KKkWCQNtCqQ1n8ExRzaY=; b=EJv5H/L1H2WCj5YZEc2kqYAamm29etk/IB+h0sWuXJZF35T/NPbCBpfxNK3mNEa1yRC1DzHDLSP+2eYu2SbdUgFi/y5X5wbxNnsJkUrSwXLDC8vIrdTLdwTgNlS1HSCJKoGBaMYxeUT0HJHBW+heIH6DLK4zcmMtQB14EO9mNT0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.23; Wed, 27 Jun 2018 17:45:05 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Wed, 27 Jun 2018 10:44:29 -0700 Message-Id: <20180627174435.31800-2-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180627174435.31800-1-alistair.francis@wdc.com> References: <20180627174435.31800-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: SG2PR06CA0125.apcprd06.prod.outlook.com (2603:1096:1:1d::27) To DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 02415bd5-dc2a-4e4a-b7df-08d5dc55b955 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0396; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 3:xpNAX/VPIKLeqfJI93Ee1tEJsSHkWRWpLpmGj1LzKHQDLDht92HSKCJsiQe2m6YUzrK84bFAhXfiv9BqoQ4HQYutBvW7mDoDtQLRZR9qKAg0ldr57GcjH/ah972K7ydj/+OL6OOHncxXsZtgfcCsYNvAXTsCwzXXr1hIuq6LVirXEKCn2BT1JK6I4B1BVMqWAdsEr3zSNbfAsqEKtiIbz7mUTueOOhMhe2iyW1oXB1XhegK+jC0I8RDK5GqP2Q4K; 25:qpTJR3xr0UvP5Z/0nHgXo9Jcy64VgLKm/1hEIJSxj1fyhkvWpnB6UNqYvgvTglv+Ck6dr/YHR88k5JM0ItvFi6LBoqQb9v2a7nKdqtEqJS/lQNLb2l53m+ZQXuWUwTIj68b6XiEOKSmIC82rVSHExRG5T4dNudDWyjGOClzFzJ8jib9P73HcBrgXaTdDAelX/0GNTEmveEQBE8gjizRqZ5HIVoKtXUsukyGSx/+ExmX/dizkZYPlFivwhg7Zhb9TwVinjCwsV+gNF2eqTIGo5940JLZJer2irFkyIqJPsHqxEmcBJL2Qc812OWO9n5AXGngwAh36edyDfvw+aFsjOQ==; 31:P+wlXBUsK1biWJhnA5RoHIK8ZRKuBIZ6jcuKZ35HMg0UYwO5cQ/4a05C3M/7QKdtE4KtYP8XgdSRdU83d9/Gy0oIkmqSXwLqBqvQxCdX6cho4Pp/hVYHpxVRU9tkVleCL4Zy9g0lyPyvMe+/nUEyHjbg12c8S8zm8Yv/cxUx7FasiRPUPHewdBf2WK4nDBRuzXuZUsZR12mSZz+8tw5sr8OSB++66VyoPyQW2L0ds9o= X-MS-TrafficTypeDiagnostic: DM5PR04MB0396: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 20:80R+E7jPsPMX/GGwDkSnNeSnf9J7wWwcboZKQCnSFIEyAi7S9sWXRI2oAsK7iXR813iiNZXzomDSdZsLA4MZ8LvSA3T/eEP1Ehcks9iRX3JVps9zKzXCh4e6HfAz14o0ZFQTn5FK4UEWIWu2hSdOkRXVnmjI5W6p6fpmS6BFO8fKzBGT9l5RRKTOTx1wlPuo6cs6Du8oIqY6aEZjELQ2mt9c+t9fvYYw3YvFjHcwEx/NdMScpsWv7uLS2IrUX99xcCMYeWNb+VGl8WHql0JoLyx03km4jFEe1+mHE+D0dLmqFkPVnRQclyTnNgrFnSWhDrYsI6gxVzMtc95CX4nJkMWuBFr77kqlAJOjFQ54282k0iflCnVFk0uyju484Scxq3e0nNtaGZmGEdgpH/vqDA1LbBl6zJ/tEwVNupV2q8be1mEEJ8TFX+NxCRuzptld+Emwjipv0Ivy2h9EUewqOt2cBQK5pbgew6OAQxKI8VpwGpYcIlV4QulFTfeS/2lD; 4:HwxL1NCSQlZbXkvKQzGbd7OFgwCel201RavA2lTEC/y64Rf3sVUZstpOe79uspL9oMKmEpaMIDTPwksLKQnh63qhsZyJlH1ecDlGpcmlKuzhqo67yU5GrlkBdqiQJ3q/35nXEhJRUHl+YanyHzFEPBK19tt3vtxaMvonROLeE4uuGPC04hZ31M0sO2MO97MhwDPAS9ctT2zpE22gTJVsEJsEe4fI6dBvXnaJlbWoc6JacR+F6uQ+reLlmeMCUHDErWejBD/QqpqwytBQ061mWw== 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)(10201501046)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR04MB0396; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0396; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6029001)(39860400002)(136003)(366004)(346002)(376002)(396003)(199004)(189003)(6116002)(5660300001)(105586002)(44832011)(316002)(86362001)(50466002)(446003)(476003)(11346002)(16586007)(2616005)(486006)(956004)(1076002)(478600001)(6666003)(53936002)(305945005)(7736002)(106356001)(48376002)(2906002)(8676002)(76176011)(36756003)(8936002)(51416003)(52116002)(6506007)(386003)(6512007)(3846002)(72206003)(68736007)(66066001)(97736004)(26005)(81166006)(25786009)(81156014)(186003)(4326008)(50226002)(39060400002)(16526019)(47776003)(6486002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0396; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0396; 23:UU2K5o7j40g54jAWBXZWtz3dGZAsDNcHRP2ky3kRp?= q1AQZsKBhg5f3XQpiiisonELyh+dcYhPva/OqqQH/CboCFzrVY1tEQqBaSL0aAU7Ro9o6/EfW5h8pW+MlDo553XDdYetMofKVdpVcvPjd50XRF6qEKrtx2zDLkOlE4FwSwBdhloECeWlYygQJprXygZsmSZ6XULFqz/3g+c2GiwLKUCEfHwDm8YtNq6M8TwACjrQ3we+d6Zv6s7h/tvEVovUAYeJldJhKSjiE8ZKzLj96JDu4M7pJs4PsnMZeCWx0FPvHj1DQ8toq09N44f782lmbQjSMKlLWUEaZhMux6NV8r11UjCNn8R15hVPs64l2qFsXjbxncM2b+QbpGytVEkeaSDF9kJWAZ9znj1c/oXSgtntc42Txj4XIlmrp/W9crGIEuH0yJJDB1Zs5ZSo5tJi4MK/UTrBmsX+MjrfBlg+GfM7dn/ZwrmkUVr0mPpc/7ofmClzfRJwuUiQQbzioHTyukAarPxX39WBJnQXF4FmJ5Fbg+VJpm3YG0f9TiIuLPPUmhaPV7mS8yPPRWHpTGqqsmoh4eK6Iy8+qsrsUVcruB0JeRrh2Zf0a2YNk5aGyo+d6EwXbZWL7zOUSymo+r7BFfGsHwNsTW8l5R/YOMTGM7LfExlzBjqKal/e4ZxhueHum0Iiqz34r4uyTNENarBEFb18+dUAoICSU3s/oN2jxlC885tAjsB9E5nbeYBB9pOejOsrUqugxO+R3IpfaRkC+i8tuM9m5zIqGGKVLkh4DImDGgCTQgo8guGe71kFmD+uhZJyLwCEmSodyGkV7m2RM5w4bfTev+HHGTiywaNVGNFYHF5sk0zunc/LinWGQFisBTjvOs2+bLI3tGEy2brtyzybFsNTFHguEbarNIkcl82M381R06k7dM0hnEuPgLtTAolCtZ+ovyOc/dSlwlIP0rT7p7V6GvufLDkNY8nhaDMA3wD85cYJvOf3VNQhADoDWWOviFRnPJcg0FBgnw03OkXBmpJF4kd/kxaCwThLvOvZj8+V1B/AcV+F3lWysRmyb36sUkzqK5I+yyySxma2xx3MXs21scQmmW97Ai+/Lc3vdhzBRZKa0CFkYytWXbv+y4C7qq3HJno/zvpO/2zyYC2CxmM72IMTqkgTfENNdNhFkX34RCFVYtl2y7ozsQSw2ZDZm830udAiJVQGra27sRojLVeXYhjXr316ACGG45XpL21aLvtjqgWECHqRug= X-Microsoft-Antispam-Message-Info: VNcA6F192/Sjtm2OP7wup7bFH+CUkPsnPAIrf1azttKQe+YlHM/DWjNd4fDys8eQfWVnF1W2MrgRZsq10940yXWQUT9+dl8GzvDZe/nDsb6GRTbI/aKpTK127st6VxX8ZJ+l63LBMyUZrFdcJqQkJiYPRkKXZlZzkce++XLv4dDyv/dsk1wTY4zmWIadie7Hl0u/JbqXFObrQYg0Qpg3Ms73arZEfZbolQr/qQYBh0QlfrKGWw/xYOnIrNMTut8gUHC6UAXOw7/O5pJXb7eZbwMKaTBvQqbcenqT6AjSTKTuxrKHK6bsRXdrl9gvDcPN4VVK0GE/yTBkfXtDUvmlWeLuzzHRNUp0amvcpxIpH6s= X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 6:3iYWx6m6ajD1B7VDTZ19Qb9plI3zwdEP2dtIgZG/ZSW9wp34v5pLpVbzGImxOMSXqDyrKcZmunhwQDMMJVHM4ur3Qa45hFJ8jasNNr2Id84viMehOYxgwUBXFIQrZFTyVTj7+rebvI9OBIdcFzRG8FmdrWIdbGf32ZtYkoZzm4fppUcs/fcI4h2hQQ/RtRt5qoL4ug/blngJl5lcvoMIwDMkMrtfhvTHNopJOg/i7wFBBzXz1uw2xv5EywRRM02nqx0VOlSAdZsYKhZuZiee8BvJJx83DcaIa/Tfp7VUvZkb6W6k7wMhBcXgqDEgGzJMsY59ZkTD8kF2nciiNtHg2oPK7AnCyboXVGyuFV2hgANLyD+2TJ5wWUiIY7pQqdhcPvxUwvqkhQq/OyoACLJclveiDrAq91V1e7JxVOkRzqXcGd7zlDIHDNYe1kmC3T2I06iJe51IfhL9SVBh+r594g==; 5:3rSf5rlZXd/5rPHVGmsc/mcUV/p9vEfGCS+A3XgFIMNRrx8BurziQbcUEjsaYfpLhRD0r41955P+RsX2ZY81WJkNQacyoEnnpyJFh+0zabqF8ptFLScwYJs4wIJk7s/pN5317weLmRD1TAWtjdnSa5sZK7MVfMHkHtMQjztGMn4=; 24:W6APBDl1Q3lWDIBUbImmoKUZblzsR2b5YRSXx/6B8tGuAakIbtRVM7BpNiy3tef9Nqu5k2xmJJJ9a3PvzMIlOnlRAhA/HVJ91u5MjvdqGWs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 7:MyfyZL7s3k6eGxNLWlAy4f714gIetcTAMHULhLjkZ+/O9u+PXAd/TEiNQnbwgsjz6+MWDnptgvNQcPJ5qGEEMSoY9jjJf1d8DQPn/+WJNZt1YVYRV//3xsnZOcbXXnEJ9k3gnI0lEZRwdRam2YH/nUAfMSSr3S1ruugghLWYFEWlxEoj8IttDqdZhynjofn872acSjvfYkeJg5k9Hv/OIMgBJz0pVmWSsUjxK4vxyMDplYgvFnf9TJTXkUQxL7ja; 20:ahCZ8dehBp/nqA5y4wvRX9e9CjEAPwqZj0/cCabDs9N7En9lOc1vpytSF33uNMjXlgDlWCJSeMefc0eP3R3G60qXRreH3mB/zUMm2SR0wiN7shPKjpyb2ee/AfXPPwEpYwQ22qHKSbFVhSnU4VRavyFVK+elf4C+lD6imaqBvLs= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 17:45:05.0808 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 02415bd5-dc2a-4e4a-b7df-08d5dc55b955 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0396 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PULL 1/7] hw/riscv/sifive_u: Create a SiFive U SoC object X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Create a SiFive Unleashed U54 SoC and use that in the sifive_u machine. We leave the SoC, RAM, device tree and reset/fdt loading as part of the machine. All the other device creation has been moved to the SoC. Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_u.c | 90 ++++++++++++++++++++++++++++--------- include/hw/riscv/sifive_u.h | 16 ++++++- 2 files changed, 82 insertions(+), 24 deletions(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index c05dcbba95..45b6aeb36b 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -116,10 +116,10 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, qemu_fdt_setprop_cell(fdt, "/cpus", "#size-cells", 0x0); qemu_fdt_setprop_cell(fdt, "/cpus", "#address-cells", 0x1); - for (cpu = s->soc.num_harts - 1; cpu >= 0; cpu--) { + for (cpu = s->soc.cpus.num_harts - 1; cpu >= 0; cpu--) { nodename = g_strdup_printf("/cpus/cpu@%d", cpu); char *intc = g_strdup_printf("/cpus/cpu@%d/interrupt-controller", cpu); - char *isa = riscv_isa_string(&s->soc.harts[cpu]); + char *isa = riscv_isa_string(&s->soc.cpus.harts[cpu]); qemu_fdt_add_subnode(fdt, nodename); qemu_fdt_setprop_cell(fdt, nodename, "clock-frequency", SIFIVE_U_CLOCK_FREQ); @@ -140,8 +140,8 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, g_free(nodename); } - cells = g_new0(uint32_t, s->soc.num_harts * 4); - for (cpu = 0; cpu < s->soc.num_harts; cpu++) { + cells = g_new0(uint32_t, s->soc.cpus.num_harts * 4); + for (cpu = 0; cpu < s->soc.cpus.num_harts; cpu++) { nodename = g_strdup_printf("/cpus/cpu@%d/interrupt-controller", cpu); uint32_t intc_phandle = qemu_fdt_get_phandle(fdt, nodename); @@ -159,12 +159,12 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, 0x0, memmap[SIFIVE_U_CLINT].base, 0x0, memmap[SIFIVE_U_CLINT].size); qemu_fdt_setprop(fdt, nodename, "interrupts-extended", - cells, s->soc.num_harts * sizeof(uint32_t) * 4); + cells, s->soc.cpus.num_harts * sizeof(uint32_t) * 4); g_free(cells); g_free(nodename); - cells = g_new0(uint32_t, s->soc.num_harts * 4); - for (cpu = 0; cpu < s->soc.num_harts; cpu++) { + cells = g_new0(uint32_t, s->soc.cpus.num_harts * 4); + for (cpu = 0; cpu < s->soc.cpus.num_harts; cpu++) { nodename = g_strdup_printf("/cpus/cpu@%d/interrupt-controller", cpu); uint32_t intc_phandle = qemu_fdt_get_phandle(fdt, nodename); @@ -181,7 +181,7 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, qemu_fdt_setprop_string(fdt, nodename, "compatible", "riscv,plic0"); qemu_fdt_setprop(fdt, nodename, "interrupt-controller", NULL, 0); qemu_fdt_setprop(fdt, nodename, "interrupts-extended", - cells, s->soc.num_harts * sizeof(uint32_t) * 4); + cells, s->soc.cpus.num_harts * sizeof(uint32_t) * 4); qemu_fdt_setprop_cells(fdt, nodename, "reg", 0x0, memmap[SIFIVE_U_PLIC].base, 0x0, memmap[SIFIVE_U_PLIC].size); @@ -217,17 +217,12 @@ static void riscv_sifive_u_init(MachineState *machine) SiFiveUState *s = g_new0(SiFiveUState, 1); MemoryRegion *system_memory = get_system_memory(); MemoryRegion *main_mem = g_new(MemoryRegion, 1); - MemoryRegion *mask_rom = g_new(MemoryRegion, 1); int i; - /* Initialize SOC */ - object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_HART_ARRAY); + /* Initialize SoC */ + object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_U_SOC); object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc), &error_abort); - object_property_set_str(OBJECT(&s->soc), SIFIVE_U_CPU, "cpu-type", - &error_abort); - object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts", - &error_abort); object_property_set_bool(OBJECT(&s->soc), true, "realized", &error_abort); @@ -235,17 +230,11 @@ static void riscv_sifive_u_init(MachineState *machine) memory_region_init_ram(main_mem, NULL, "riscv.sifive.u.ram", machine->ram_size, &error_fatal); memory_region_add_subregion(system_memory, memmap[SIFIVE_U_DRAM].base, - main_mem); + main_mem); /* create device tree */ create_fdt(s, memmap, machine->ram_size, machine->kernel_cmdline); - /* boot rom */ - memory_region_init_rom(mask_rom, NULL, "riscv.sifive.u.mrom", - memmap[SIFIVE_U_MROM].size, &error_fatal); - memory_region_add_subregion(system_memory, memmap[SIFIVE_U_MROM].base, - mask_rom); - if (machine->kernel_filename) { load_kernel(machine->kernel_filename); } @@ -284,6 +273,39 @@ static void riscv_sifive_u_init(MachineState *machine) rom_add_blob_fixed_as("mrom.fdt", s->fdt, fdt_totalsize(s->fdt), memmap[SIFIVE_U_MROM].base + sizeof(reset_vec), &address_space_memory); +} + +static void riscv_sifive_u_soc_init(Object *obj) +{ + const struct MemmapEntry *memmap = sifive_u_memmap; + + SiFiveUSoCState *s = RISCV_U_SOC(obj); + MemoryRegion *system_memory = get_system_memory(); + MemoryRegion *mask_rom = g_new(MemoryRegion, 1); + + object_initialize(&s->cpus, sizeof(s->cpus), TYPE_RISCV_HART_ARRAY); + object_property_add_child(obj, "cpus", OBJECT(&s->cpus), + &error_abort); + object_property_set_str(OBJECT(&s->cpus), SIFIVE_U_CPU, "cpu-type", + &error_abort); + object_property_set_int(OBJECT(&s->cpus), smp_cpus, "num-harts", + &error_abort); + + /* boot rom */ + memory_region_init_rom(mask_rom, NULL, "riscv.sifive.u.mrom", + memmap[SIFIVE_U_MROM].size, &error_fatal); + memory_region_add_subregion(system_memory, memmap[SIFIVE_U_MROM].base, + mask_rom); +} + +static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) +{ + SiFiveUSoCState *s = RISCV_U_SOC(dev); + const struct MemmapEntry *memmap = sifive_u_memmap; + MemoryRegion *system_memory = get_system_memory(); + + object_property_set_bool(OBJECT(&s->cpus), true, "realized", + &error_abort); /* MMIO */ s->plic = sifive_plic_create(memmap[SIFIVE_U_PLIC].base, @@ -314,3 +336,27 @@ static void riscv_sifive_u_machine_init(MachineClass *mc) } DEFINE_MACHINE("sifive_u", riscv_sifive_u_machine_init) + +static void riscv_sifive_u_soc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = riscv_sifive_u_soc_realize; + /* Reason: Uses serial_hds in realize function, thus can't be used twice */ + dc->user_creatable = false; +} + +static const TypeInfo riscv_sifive_u_soc_type_info = { + .name = TYPE_RISCV_U_SOC, + .parent = TYPE_DEVICE, + .instance_size = sizeof(SiFiveUSoCState), + .instance_init = riscv_sifive_u_soc_init, + .class_init = riscv_sifive_u_soc_class_init, +}; + +static void riscv_sifive_u_soc_register_types(void) +{ + type_register_static(&riscv_sifive_u_soc_type_info); +} + +type_init(riscv_sifive_u_soc_register_types) diff --git a/include/hw/riscv/sifive_u.h b/include/hw/riscv/sifive_u.h index 94a390566e..49f1946539 100644 --- a/include/hw/riscv/sifive_u.h +++ b/include/hw/riscv/sifive_u.h @@ -19,13 +19,25 @@ #ifndef HW_SIFIVE_U_H #define HW_SIFIVE_U_H -typedef struct SiFiveUState { +#define TYPE_RISCV_U_SOC "riscv.sifive.u.soc" +#define RISCV_U_SOC(obj) \ + OBJECT_CHECK(SiFiveUSoCState, (obj), TYPE_RISCV_U_SOC) + +typedef struct SiFiveUSoCState { /*< private >*/ SysBusDevice parent_obj; /*< public >*/ - RISCVHartArrayState soc; + RISCVHartArrayState cpus; DeviceState *plic; +} SiFiveUSoCState; + +typedef struct SiFiveUState { + /*< private >*/ + SysBusDevice parent_obj; + + /*< public >*/ + SiFiveUSoCState soc; void *fdt; int fdt_size; } SiFiveUState; From patchwork Wed Jun 27 17:44:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 935647 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="Be+0cqVb"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="jxK9lwLN"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41G9Q51vqcz9s2L for ; Thu, 28 Jun 2018 03:49:01 +1000 (AEST) Received: from localhost ([::1]:60691 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEYs-00068x-Mc for incoming@patchwork.ozlabs.org; Wed, 27 Jun 2018 13:48:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49268) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEVK-00042Z-2l for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYEVG-0000Yq-TP for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:18 -0400 Received: from esa1.hgst.iphmx.com ([68.232.141.245]:46698) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYEVG-0000P1-E7 for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530121514; x=1561657514; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=/KuvZZNKysgI2G0BykqNNF2HqGNRfOu3vCQ4mktBpMk=; b=Be+0cqVbQDF+ZJoCPDrJWX+09pQPk1CtLdfm6F/TmOmaApmtSowa7C18 Q0JxSxe/8Obx/OYJHou3eqXUVvY/H3kBPdqv1I34hpUvPXEzAQsappiop h95tSbK3rWQ462trnNJVKvGPknewU6Scl7NxUdOTvqs9Rnum7xRzU4E0J erQvcEBwnarUR/UdFv79YcwKkwavrHR+acORQZIJbH1LffdZi4SCOS7ef QgZcQufgjEq+cEeD//n+wYofH+MCgRA+587lDmMznivEyxn2O0ftoPnKI zKxKYIO2lCl9uLbbNFvTSBmbsBYNfvHvFL2huseoNGU84YrSewWCfDB0L A==; X-IronPort-AV: E=Sophos;i="5.51,279,1526313600"; d="scan'208";a="185607654" Received: from mail-co1nam03lp0023.outbound.protection.outlook.com (HELO NAM03-CO1-obe.outbound.protection.outlook.com) ([216.32.181.23]) by ob1.hgst.iphmx.com with ESMTP; 28 Jun 2018 01:45:13 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P5Fw967ZvfmeSlYWKt4fON/PFEIAr/G0m/eKNUF8F/8=; b=jxK9lwLNT4fTZRBPzMcm1jH4rnzVeHeYJptfnOOA6lljYr+WjpjNXiFtRGQtXussF5sD7luYKHAo0NndbH+90TOp5nj/hiXYRN+aOdFbywt4VPsVNHhSMgHTc0bQEwv+65PlleH3GpNv/+fZphJ70EsWpttTAKX/RDHA0s2tUO4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.23; Wed, 27 Jun 2018 17:45:09 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Wed, 27 Jun 2018 10:44:30 -0700 Message-Id: <20180627174435.31800-3-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180627174435.31800-1-alistair.francis@wdc.com> References: <20180627174435.31800-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: SG2PR06CA0125.apcprd06.prod.outlook.com (2603:1096:1:1d::27) To DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a0f4bd6b-bcf9-4858-4c6c-08d5dc55bbb3 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0396; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 3:xsDMcuyIm+Grm2kpRm5Yxcw3ozda1Hv/p+n20bVWN2H1PxL22LSVRefBWYvpbjiD7okJuQvwKVFX6k9frLUQtLpOv9ZHjWLZu6EWQleJ0lOHACUzGUr5uPpztUA08zb9zCwFRmT/0trvPg69+n/6P3B0V8fDechmajKa5DGYzFy9yF85QjYW9GcN8BggN40SVtsQgmt7ShRrMDCZeWuRIfd81ls+d4OtdwSSvj3k+lYjryu9Lzb9Rnt3BDzNkFXy; 25:yhLbOxJxvMX7fHwqAlPMosP8dTHjTKpGmoxnvyjPi5iFtdBsggqq67QgCPv2FGy6CdIqZdMI3j68i0Wq1+QqRxx4YtNihbUzjhBIFzkvVjn9b6ukHjWUVuQ/7H2D0k2vRZQrxFHw33lER5cHwUUVhHeN5f3gPLR0JpF5YRJ1Bb7pmjEka18FDOP4si6fNij+TL77ZFDmgc4iFLmhMqY3MubqPcrMACtS3tFZHbQSIC9Ho/vKP4f7LipUSzDDSyf7xKY0+DzQu0pVpli0sIxiS612wjxKMuiJD1hFMVZi83GRku+JSwlIMUzbcaAAZukrWq0rAt2ZzrmsKoZ8sCFCwA==; 31:Q8ZAY3HiTkcgJteVMYGq8t6MqejjxXAMbFpT/s+0vFwZu17ykp+b+a+ul/JyHZTzZ3TavMTrzfrN1y+AvVD2vhtvXIXHu/S4gpEOQyvPQMBv9ygOZW1kZUYfxxpCcY6mXIdl3kTWZrHsbKUjSCxOPV2Mz2TTv024qHUcU4u99a0LVffyWskT4Ooavwv21Puaa1iBxTfqvFL3Pns9WqQ/5Juk6DxnVxs9J2r5aiPJDSg= X-MS-TrafficTypeDiagnostic: DM5PR04MB0396: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 20:WWl0O14JMG2evHrt9xvt6k7q1ylTn2BgJTnkYpx9u39+qchGvpdR68QV1CKL8LK9ODSQTgn3ITKtGA7W/YQyghv1kI7xnTXFrCsKpO6P8nmtaivwHV+fdY/OTnhzome32+0dPXB0CXfeD/1OtvrSqQjf4OS35yA+ggP95FQmb4DVOuyEJwd3jMD0b5Q9cq/4+Uq0GflazJrDnn+W90aN9KlzCLDrZPT4hBzt1xhKwWXqwikdzrOpGj4rPzwlqlwxanGm2zj7BEFqv2L4M4Lfnbpo78GlVeYvKd7RFbpcrUph9QNetkC0pVGlP2A/ft+neN8/jwZk6+pt8srIPis0J+J52aUSxE34doHTRW4EjIrPA4p8LzN0eWV3UG3sTL5zMXlZDeC8eg2DY6g/SFZa+E1xhB1OynNaQ56UKp7G+aKOPHVrk4PazPYMvvNFsu8GhcB301LvJQuajfWiSj4f1oUH/+36zju/R/pWM2FpOsUH09HGk0GiiBrVBZ2ECyRY; 4:UMSb9htVnnhZbotv3mLRSSO8D72EENhPh/xCOt0BdYwsfXm0qSXzENBUQXbcj0l872D8X9OM9NCrd1JJR/82vNGhQyk4avWaGB+HmM+keis1ZSN4aFAYVVpDZdyp+oi+zhuxqJqdbREZlSCvss6mxET68a5iTUxpsknIfPQ12PtCwcwmldz6vZsxbDKlDz9cN13OmMuCYSg+HTereQp+9QEBZ0WbtI1P7XvARVlVNOaFLZNLHg0famXKPpq0xpLfT5JLcduFXLI71Xh2kGZy8g== 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)(10201501046)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR04MB0396; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0396; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6029001)(39860400002)(136003)(366004)(346002)(376002)(396003)(199004)(189003)(14444005)(6116002)(5660300001)(105586002)(44832011)(316002)(86362001)(50466002)(446003)(476003)(11346002)(16586007)(2616005)(486006)(956004)(1076002)(478600001)(6666003)(53936002)(305945005)(7736002)(106356001)(48376002)(2906002)(8676002)(76176011)(36756003)(8936002)(51416003)(52116002)(6506007)(386003)(6512007)(3846002)(72206003)(68736007)(66066001)(97736004)(26005)(81166006)(25786009)(81156014)(186003)(4326008)(50226002)(39060400002)(16526019)(47776003)(6486002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0396; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0396; 23:rczMtY7BX/hg8fZbsdXcXD850HuEfI/JM75aZv2a5?= flDv4if5tPEGBCUeS4gZPdJCGqFR7n5Q4RFY0i/GikzncZtexp/5W17uTMQ5xVXlOvbyaEyZJ6QZhCBwlbupcyWNcWhfz0M9P2OAGGiGaZTOFt6MeewIstelPQZ1/Fhn092x5HC5f2PIJs5U14JEAbA2QkEVml6DpxZH63h2iw9rB4ybMsI/K4knzlT6xLO2vOaaZycIKd/oXFZiRciFglOpdYE0tRWzADuY2jBUSeymOM4uHURxg+1gYrrdTd2rQ7tqcxCyBnQ49rP+Ts0dnBDpICj1HYazW6VC7X8jrWrLUtEudhe4SLHxneYBXxumJgKVudtCe0z+q8wGAfVXLJBHYXoNijEcskTtDExduai+ilHdJ7Loejho6dZD77D+R99BAOHQT4C90wqY4wakTNW32gm1lHiDxPk5FAePA6JoZQ64SsS2LEBvwovWzJOfJzD+8RK0WwlQ8RNjtkuuKBYQRz4+Ryi63jDRgfx/0Jv5M+xdjNum5sj+XRFWjXvEOomva2HLivWMlPdO5xJDLz8mWLWBR0yfsxB9cZnGzhJgByZD3St0ZtfHkSIbQaImwA/HUjwXbSd73g/zny7kAvnnoyuUtmTRS3cby84MLOR3Q5KALLnR9YGo50wbeMTenfL8Sutfl65lxYvAiJpc+hXlE/3ET2Q0OweLiynGZLQvF6irWulu+Ek/+4CwwYnMpNJCtqBvzCbNcmzTFMsgV//Y6hO29Cn3uP5opbrgK5yrFX/9FGJc1cuPizdgbZzCsO8Zx9H54CBo/sQs3l2yEK/UT5ISjBwItl8WXzvbXZSbizDXcCz/bkWIw5cLlxkNSqIWQCvXLFz6s5XDkgfbGVO8nfob+LElLIovnU5haRSn4Z60Vq7P2bbbEdB6tN5pxfyaQgmSCxNRySv7VdGgZpfInrw+moOV1pnc7aO/qiaRbgfJcozDzQ4a7iDBMAoNjdEurZgdUztx/wcEb2ys5pVH9pGvGE8Za4C4uRO7PVvzy6MS1o5NApXiHYaNLvsHZtfADJ3fZC/MipQ/MKgAuQ4MSnBLVDb8/kl8HpLlNXzIhojksEhU9M4jHWoyXGDKAxLrIusfSHkG1DBRgVb/aXMHaxQf5vWb8sxCVdyRqC6dKzg8zOcttz9+pZHxvVXLCIR2vSELHTzWiYXByAuw+OQILupurywGopwRddH/9FbE5ECTS0qNaWhaaLJh/JHqMV0bOVp7YmirI62MJZWe6tI X-Microsoft-Antispam-Message-Info: zKSfVSIc6na0L/TnsNjTYbuC+7CwwLyl3fT704g6PE8IaHtGV9xpgYPVVL+WIXFJSEhqgreY8LocpWdUITi+WGazzvb8NcnJmKuK7Oo91LfpfNvQfd5XgWcCn+spcKYCTZ8ckyMtQ8SbHvEjPGUBALy5gwuWLhSzCyVrPZrR/u76oedCijbrlLo3QImQx9ENQtT3qRtt492eyWzDl8TvL5BmavCvioTHa+3HwmOiVvgDzR6R62TfXBN1I1byW5mcpYXBevCi35++M1Fxi9Z9GomYKNXeaYOb9nQEr687AcES0LRuUxrO4HkMekNe6ozzqbXm/yHBf99gUUno/opncdQkIvxIlUkQN9N62wuc2yc= X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 6:6Fai45WAb93MXdojtHD8FayOO3wRhefOyKzi0osrz27cWl4fZpp35GLxZikT6cTaByFITbBiyACxBk+U2g0ZIJI5IKCgPmRZpHK8A5PaFGhXK+8uW71BPyEYoHqP57NM/hMk1c/BWRxKK1qQoDkQu0imkfj7q2/eDJlP6w13yYoayIeNxtvX8GJGfyVMFoorX4TqvRPAveYcZANUM/+9GhNaiMhnl0I9ktkIIe1ZEsb/CY+jtsf6ku8Qr4lMLS5tumX0ipSv4bEvtG10AIz2t2p+rl+rQHcKRj+rE12S/tUmAphd8GUtM2BNuHC584TIOhWX6eVarwVQPAOIInva/XcumLcBaVXRiW2BhO4x8p+PK6foXeghEBxLFSi5C4BPRTXjwh+HXCx+5hGZ713RtBaMYa6vcklp1bMAihkCQgBdFVRAuQd2gka709Nj01k0+VirpS4deZb6RuM5rB1WTQ==; 5:nWmjFvGCXZX+IOZTtpIiX3OSmHkIoFofMPZWR6YuAqTNOl3x1hKbK34ZBi67lDwBoyrpQtllz652KgF/tfBi76eg6lZDrRUlCtvh3vNfT//Z1+gqbE6cPCd3zpMHwIDbWng90s4l0Z+XHRrhkF33B3dW533OV7rg5PaHd9s0+hA=; 24:CGfMJKotBjX28I5mC1ucG5CVZUb4lAkz0OL6CytJNh9GiaIunYXNdMeVSzujiZxD6CAjb5JgvMvP8V5xp5YVNCRj2cccjbsw4iRG7kkKLXU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 7:k3bvLZOM7/y4drsDQW6hkSjoZ7XCqCna9s/1PIskOLJTCn03X2YiNeL9l2w01neI/8jOOpboeFMnZMJvQCbm50uw1bxMOl+cZIHjhr3a7xm0PCpjvKBDsFF2URAmbObHv0sRqGBDftKN0mzC4Epme4/7f3IcC3ggib1zc93+8v+xX4abzsWnZKoQnTTWleSelWafANKTgx6Z6be341yokKLZSzzanEdoblUVjcJ03U+GrkNE3XuRFrMIY7CMXnCQ; 20:nr3sTfdMLdTVVbDzhxdniwscwz4Hk3/MOeb5jLf8fTZea6DKKV/poO/tE7uZ6dGDlWFdIkxV7fOMvrod9DDO0BkhkqQ9YJWO1ih7dQe0eD18FrHACBboTjdkFqF/lIIjBjDQZUHRj/2BLSgou7W41NAxqQbZ7PWtxRQmdlpS8NM= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 17:45:09.0495 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a0f4bd6b-bcf9-4858-4c6c-08d5dc55bbb3 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0396 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 68.232.141.245 Subject: [Qemu-devel] [PULL 2/7] hw/riscv/sifive_e: Create a SiFive E SoC object X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_e.c | 97 +++++++++++++++++++++++++++---------- include/hw/riscv/sifive_e.h | 16 +++++- 2 files changed, 86 insertions(+), 27 deletions(-) diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index e4ecb7aa4b..384b456540 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -102,18 +102,12 @@ static void riscv_sifive_e_init(MachineState *machine) SiFiveEState *s = g_new0(SiFiveEState, 1); MemoryRegion *sys_mem = get_system_memory(); MemoryRegion *main_mem = g_new(MemoryRegion, 1); - MemoryRegion *mask_rom = g_new(MemoryRegion, 1); - MemoryRegion *xip_mem = g_new(MemoryRegion, 1); int i; - /* Initialize SOC */ - object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_HART_ARRAY); + /* Initialize SoC */ + object_initialize(&s->soc, sizeof(s->soc), TYPE_RISCV_E_SOC); object_property_add_child(OBJECT(machine), "soc", OBJECT(&s->soc), &error_abort); - object_property_set_str(OBJECT(&s->soc), SIFIVE_E_CPU, "cpu-type", - &error_abort); - object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts", - &error_abort); object_property_set_bool(OBJECT(&s->soc), true, "realized", &error_abort); @@ -123,11 +117,57 @@ static void riscv_sifive_e_init(MachineState *machine) memory_region_add_subregion(sys_mem, memmap[SIFIVE_E_DTIM].base, main_mem); + /* Mask ROM reset vector */ + uint32_t reset_vec[2] = { + 0x204002b7, /* 0x1000: lui t0,0x20400 */ + 0x00028067, /* 0x1004: jr t0 */ + }; + + /* copy in the reset vector in little_endian byte order */ + for (i = 0; i < sizeof(reset_vec) >> 2; i++) { + reset_vec[i] = cpu_to_le32(reset_vec[i]); + } + rom_add_blob_fixed_as("mrom.reset", reset_vec, sizeof(reset_vec), + memmap[SIFIVE_E_MROM].base, &address_space_memory); + + if (machine->kernel_filename) { + load_kernel(machine->kernel_filename); + } +} + +static void riscv_sifive_e_soc_init(Object *obj) +{ + const struct MemmapEntry *memmap = sifive_e_memmap; + + SiFiveESoCState *s = RISCV_E_SOC(obj); + MemoryRegion *sys_mem = get_system_memory(); + MemoryRegion *mask_rom = g_new(MemoryRegion, 1); + + object_initialize(&s->cpus, sizeof(s->cpus), TYPE_RISCV_HART_ARRAY); + object_property_add_child(obj, "cpus", OBJECT(&s->cpus), + &error_abort); + object_property_set_str(OBJECT(&s->cpus), SIFIVE_E_CPU, "cpu-type", + &error_abort); + object_property_set_int(OBJECT(&s->cpus), smp_cpus, "num-harts", + &error_abort); + /* Mask ROM */ memory_region_init_rom(mask_rom, NULL, "riscv.sifive.e.mrom", memmap[SIFIVE_E_MROM].size, &error_fatal); memory_region_add_subregion(sys_mem, memmap[SIFIVE_E_MROM].base, mask_rom); +} + +static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) +{ + const struct MemmapEntry *memmap = sifive_e_memmap; + + SiFiveESoCState *s = RISCV_E_SOC(dev); + MemoryRegion *sys_mem = get_system_memory(); + MemoryRegion *xip_mem = g_new(MemoryRegion, 1); + + object_property_set_bool(OBJECT(&s->cpus), true, "realized", + &error_abort); /* MMIO */ s->plic = sifive_plic_create(memmap[SIFIVE_E_PLIC].base, @@ -171,23 +211,6 @@ static void riscv_sifive_e_init(MachineState *machine) memmap[SIFIVE_E_XIP].size, &error_fatal); memory_region_set_readonly(xip_mem, true); memory_region_add_subregion(sys_mem, memmap[SIFIVE_E_XIP].base, xip_mem); - - /* Mask ROM reset vector */ - uint32_t reset_vec[2] = { - 0x204002b7, /* 0x1000: lui t0,0x20400 */ - 0x00028067, /* 0x1004: jr t0 */ - }; - - /* copy in the reset vector in little_endian byte order */ - for (i = 0; i < sizeof(reset_vec) >> 2; i++) { - reset_vec[i] = cpu_to_le32(reset_vec[i]); - } - rom_add_blob_fixed_as("mrom.reset", reset_vec, sizeof(reset_vec), - memmap[SIFIVE_E_MROM].base, &address_space_memory); - - if (machine->kernel_filename) { - load_kernel(machine->kernel_filename); - } } static void riscv_sifive_e_machine_init(MachineClass *mc) @@ -198,3 +221,27 @@ static void riscv_sifive_e_machine_init(MachineClass *mc) } DEFINE_MACHINE("sifive_e", riscv_sifive_e_machine_init) + +static void riscv_sifive_e_soc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = riscv_sifive_e_soc_realize; + /* Reason: Uses serial_hds in realize function, thus can't be used twice */ + dc->user_creatable = false; +} + +static const TypeInfo riscv_sifive_e_soc_type_info = { + .name = TYPE_RISCV_E_SOC, + .parent = TYPE_DEVICE, + .instance_size = sizeof(SiFiveESoCState), + .instance_init = riscv_sifive_e_soc_init, + .class_init = riscv_sifive_e_soc_class_init, +}; + +static void riscv_sifive_e_soc_register_types(void) +{ + type_register_static(&riscv_sifive_e_soc_type_info); +} + +type_init(riscv_sifive_e_soc_register_types) diff --git a/include/hw/riscv/sifive_e.h b/include/hw/riscv/sifive_e.h index 12ad6d2ebb..7b6d8aed96 100644 --- a/include/hw/riscv/sifive_e.h +++ b/include/hw/riscv/sifive_e.h @@ -19,13 +19,25 @@ #ifndef HW_SIFIVE_E_H #define HW_SIFIVE_E_H -typedef struct SiFiveEState { +#define TYPE_RISCV_E_SOC "riscv.sifive.e.soc" +#define RISCV_E_SOC(obj) \ + OBJECT_CHECK(SiFiveESoCState, (obj), TYPE_RISCV_E_SOC) + +typedef struct SiFiveESoCState { /*< private >*/ SysBusDevice parent_obj; /*< public >*/ - RISCVHartArrayState soc; + RISCVHartArrayState cpus; DeviceState *plic; +} SiFiveESoCState; + +typedef struct SiFiveEState { + /*< private >*/ + SysBusDevice parent_obj; + + /*< public >*/ + SiFiveESoCState soc; } SiFiveEState; enum { From patchwork Wed Jun 27 17:44:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 935641 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="WNt1vrdO"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="WQXHENyE"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41G9Lt0rP7z9s2L for ; Thu, 28 Jun 2018 03:46:14 +1000 (AEST) Received: from localhost ([::1]:60683 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEWB-00048k-Jp for incoming@patchwork.ozlabs.org; Wed, 27 Jun 2018 13:46:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49340) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEVP-00046R-1m for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYEVL-0000iv-R9 for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:23 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:22602) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYEVL-0000fX-0u for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530121520; x=1561657520; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8gEMhHVLsIjyP0oUHEoQEjmB+hcyyBtXjII8vdb1Ltg=; b=WNt1vrdOkF1HRkndtxXuZ/eGfg0auAwnG6dWZj6PMIvMbA1kPkneL/YY wL9GEY5zbYisYx3WL0OCiiQJqDNq94vCW58QDxt2ft7cl+xJ2IT9AoLEx tRydqHetkd5GXn23zmYWSb33U3y/wyAwgBoFmsgBv94U42NLfwHvMGTeA yQKKTvYGcxafTNTbJK0At40BRXr1/Uq19hHOYoga0/9xhT4DEdCJG93pX l3RHV/Oe1y6hgJ+BH6mHYxqiwMTJaMCnb9pqKJlcZWtrPczVeV5UsKQex 3PLZc/SYRn72gAvdq449uUQLRDPEDkJmw8fX7qCfTywpGhGFP6tJ9QD4z g==; X-IronPort-AV: E=Sophos;i="5.51,279,1526313600"; d="scan'208";a="84764274" Received: from mail-co1nam03lp0022.outbound.protection.outlook.com (HELO NAM03-CO1-obe.outbound.protection.outlook.com) ([216.32.181.22]) by ob1.hgst.iphmx.com with ESMTP; 28 Jun 2018 01:45:18 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qpe8ck9xUXL2arfH/FEMhjmzmIXfBZAt74s7lxGSEAY=; b=WQXHENyEz7vj1pcQZ6R9v4GumEYHIeS+cjUxvFLb36RiJJSAWfA2S/8VvsxzrUvPE+Zb/Us1DKmS/FDRtvvLKnr/8+2q7LWszbHYsQO47BfBkyHgPfMjLH1BPYwIe+77kP1hoHB5qfVRQLM3XmdlCP8Et6tui3V7WzeWrw0B8F4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.23; Wed, 27 Jun 2018 17:45:13 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Wed, 27 Jun 2018 10:44:31 -0700 Message-Id: <20180627174435.31800-4-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180627174435.31800-1-alistair.francis@wdc.com> References: <20180627174435.31800-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: SG2PR06CA0125.apcprd06.prod.outlook.com (2603:1096:1:1d::27) To DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f74f3f20-ddcb-4f4a-e102-08d5dc55be10 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0396; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 3:eZFO257ubPaU/XL7EfIF00cpkooitfLSJdBoi2bcWUkjq2Ti4OK2pdtx/ztDIHYFuFxemMHeGDwBos7u4sYNvzqmZBrzNW+pnoRe5ED1D+RLvMK5/t+bwl2DCj0JCb+Rojrsx3C4hYeAEmibkoXQiny1PP3ZHkegu1y/l88rk9kaGojTkZh0Cgjk3w2LzeXHeeLDdh4LOs6RzXITSu/hArH7e8qb7ejORjqA4T5yN7u7nfo+UMnQ8KyK6vleGL4R; 25:PX7nBXuAj5MxlkJCAgnoyGjvtzwHdnUPaKJil13qMUPxeHW5s3H/6XUPcW1QXbeWT2ErIxjGTyh5IvPExORAtRQsTd2M6QrMJlfBxyb7NyQev7xEL7K4/aCvIBjLodnYYPcn6D5hXuHRz9Brt9xza1lD1eJlM11n1jiX+/J/j4mk4nt7311oopctT7ycsV48wg4H4V0qTAUGuiOLZuxz2mLQnf+eLpaljc/oVMEBV4TZHw0sI99DE3W999eck4chrbL7/EtHRvFkBzW2rhpE2KTV4xLJW1znpVjsTUHRHELyTvOVdzyDcNVQn0fhtQHkpZWF6rhKfIbU3Q8oQBCwsg==; 31:xHuMu24kd9ZZCgxIZ9HzRr5vEQpcdnZVo3c07NhZ4Eu/Vc1ZCRi2RBh3HFAgSWl6UoLRLAsM3Y1fsTv9/VL+Uch/0LYDf/fp/21NjXz2WpZantJa0HqCsOPQ7ha72O+dSLJPMjl9tikjN8yGF0zOY9vIBb05m7KIiBOpNhMcSzElRwkD2e651kK1wybQV8VpIerz2KK5XKLFV7t0+1as1hNQlOE8mmKYEYG4i+9BAek= X-MS-TrafficTypeDiagnostic: DM5PR04MB0396: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 20:18Dd9UFQj12wHJTk/oCRxbY9w+DoI8+an3rMOorOqF0aD+e73zNh6oYcmTJkblktqm5F7PWJYV4oTqNHx93obY9anM22wpL6VPrCsAHwpfiBNAY6e0BLN9IBxD7xC+fptLMjOwdlTmWhdSCuhgBZW8KNjrhLN/+zMaOsUzHn6SyPPsACxc+h0NdMiJvV0HFCeYhKyTEj6GeBZIGIU3LQRK1HLjF8rdKjY0f15TFRPPPerTQNygtjEml1nj0seaosUKWFcRbym1WeS8q9ZQc96Uf7uV1EYrknyKfN8Zt1wJLe5YiTbsSJtv6MbIMBnlrA74HLVSbLmtO08/Rh5/2IDqXuwlcu6+1gBKPcahvKifQjVumgvdTnC2fAQQ+oCoHv7erL5BrPkIOYaHf9CzQZmNvRscei5Ko0Qg/NssoWOeUBCAG7IqQ6khfSk2HV+4QHaE3IkF5TD2gXWrRkFWcCF3IpJbwFmTkqx5LxblzgGt/yzfko/9WX23LBrEbYkEIB; 4:XLlZYxQ6hZMVFM5hX+3/7e1CZcUAAVJFaSpmDcq0wr3bVTLbaXiw0XfKp3p3fW289iqwMoZHye2sbQJt2ppApRkHb3RRvB7gJWPqeLufEp/CBGQZiaMxUP6XsJYoCMxnFiRrpW13n5IfVFkZ7RjfhKVhNmGLSV4+3y1fPLxSEGZR9xiSVk2r/I52E9InFRlnfFYv63ik16THbTKxnIulxOSjsakQZI5qZj+I0A8P24TrNHrnmMTDgKxbTZ92Wm01fDCL1Fb25D7onAxqFtisfg== 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)(10201501046)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR04MB0396; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0396; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(979002)(39860400002)(136003)(366004)(346002)(376002)(396003)(199004)(189003)(14444005)(6116002)(5660300001)(575784001)(2870700001)(105586002)(44832011)(316002)(86362001)(50466002)(446003)(476003)(11346002)(2616005)(486006)(956004)(1076002)(478600001)(6666003)(53936002)(305945005)(7736002)(106356001)(2906002)(8676002)(76176011)(36756003)(8936002)(52116002)(6506007)(386003)(6512007)(3846002)(72206003)(68736007)(66066001)(97736004)(26005)(81166006)(25786009)(81156014)(186003)(4326008)(50226002)(39060400002)(16526019)(47776003)(6486002)(23676004)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0396; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDM5PR04MB0396=3B23=3Aeqe/?= =?utf-8?q?79df0Uv5LHRmAxrLxrIDGr4y8CJqEiS9YDCRAy9K7q6OXdQZz9Lk3P7o?= =?utf-8?q?5+MAA/ymD6cYGH0zSL+JsAA1nfqSycEmdj9rYRQs2BOndlK8R8J0+fzs?= =?utf-8?q?hHBVGp7ZhHE6RFYLKVXauE4rsPzyVpk0nYGVeZr5f6WdemVVU/avh+dV?= =?utf-8?q?L82hcYnJY6dPIPvDz0Yf7Xh6LVyztHiUkpVOlsg5XyEnM1SrWvkB8pSy?= =?utf-8?q?yeVKDhQbALEgXun1b2Zr92yhlHXOPtiTyjKJzR711llcfYwPaZnbc4Vn?= =?utf-8?q?xKnQ+LnHiCjWxKMMEJoSoVhtHeYMrc/3qOG1syejDNOYFSGYzfoYvhjQ?= =?utf-8?q?+pz3p2Pi2eqKfv2abn55/QLvLYOds54Wru1ioflfX0H72fXPPXrpBoT7?= =?utf-8?q?uwqJgVC4qUsuPto+FM43E/ox6wTxAgke9U8rfidcT7GR8UiQJvoF9UbY?= =?utf-8?q?g8QEDsKW+UC2VRj0KtbK5+t09exA/Ol7KnL+kGh0MTDs2Jaor1Pafyty?= =?utf-8?q?UNeBsjVMlN4oUVNCp14I+HcsuL3s63ZKmP2nr2O7My2oeCWKqm01FWE5?= =?utf-8?q?9XeukAhehnRye63ZWbaJvn9DdolRxkFUWtOTHkPfMB2Ab9dMsbvLurtB?= =?utf-8?q?XgTFh7ziYpCOwcH7x/HX50eg53d+ga6eUrEOSb42T+ivkd1sZFyY9DvY?= =?utf-8?q?e2Bj8K4qRwKx/9PawC5FlLX0sR2HKi5ufXqdnFSwTXxDe+QevZNXphpV?= =?utf-8?q?34xYrkLesG+rSOd6YWup07LjIA2et5CD+Zz7m7rcSg+h8vgDzlFEXgu2?= =?utf-8?q?oQolyd6kP8yeFkfVZCkeU4xdCEhCpe1E3EZRy4D2gkYr1tV1x0meJ2Zf?= =?utf-8?q?rJXCf7KHcpHazaPgyzgT/BkRdmWO8I/vugFiBsbTnGLuukaiShoq+gdI?= =?utf-8?q?RRDKzRZvw3e/80TE56guSxO3lvnCqv9trOm6lfbH1AClpmaZzUvTUsF5?= =?utf-8?q?rqHX4+A0b9dSgPYk38X+hlr7lc96eMAP3fVYIGssnkKUrkJ01YKGB5pt?= =?utf-8?q?uFWs8y779aKEuOF1cizj3tFw9egw+RcEea76YvKaC/ow26PBSYbdAuJN?= =?utf-8?q?xr2V2Ru/Gnn0GL8RgrxBW+Mz7SYm39s9VrzjTk38//8JhN/5/KzVZowV?= =?utf-8?q?lGsAbEOLqebSB6ddiqhta+toDc5Pp6tRln8z1ww36p4kqiXvcvWJffwu?= =?utf-8?q?yvHQPNDaczHh1iBupDa/zKoLXdMaCnrr6a6y2S6WYLmfKZAdrNkUsnnn?= =?utf-8?q?MZHJw5Tx+pkKuXdDUyg1DHuK4+KgaEge4Dch1CuO8JAcyonBN4j/eajh?= =?utf-8?q?H9tJ04UDXNgQrEJY0+Z2R2UDFgGwLYotgupFMp9tdmMo113vXGPBIfaI?= =?utf-8?q?t5nMgHSHXo0G1q0q+Q=3D=3D?= X-Microsoft-Antispam-Message-Info: TGy6pBnbxXf0imoaGtfUgBDnxMRBdsBJZbYZbEcRrL4JclGM/3eNifjZIbz5vPp3hHs9Y7MU+dChD6Cfa37CzZzcM9Qc/mNjwqeQRDj93sCoIAfKY+Catj7/OzTQjebWhlFp3eqo/ECCtVIihkLQI1T9CSV2JIEvkgzsOtJo3xi4CYj0n9Y9/AU7dzMZeGL8KTFm0aKF4pVnJGRKqyTiVB8tBNTP0nbMs2G2GVoh/6bHT4x/Np1mj7ZEFqicV1H9PQ6I5SQ6Lv0EEUGTCgVUnJ1VFCqHdA/Yepcec3QnYpdPtIiwqdyJTdczs7EjuMfBE/F03BUEReFYi7C6aNXTlsLmK5YH6D80SSfaUSEkpGQ= X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 6:gGP1oN8J6B2GdH6EfVWL/+m+FrAEGMmFRmQqRe1+RGE78F9K9VbTWm+Lo0rES3ah2WsMAr5tb6k2nmH1wx+aM6AsoJTg2U0wpHq/hesXKeTPtlgiNmpE4vsn6KBOvy1sb/2VyFm9Gnqc3lJmTYiGBb1ttz0QqZRh/WVK4zRDsr5x7RbFz2DXohnbIRmS0x8ooJf68wzqWG69omFrkPjTegB87UXdRxTzqyYk0GsdoqBztJth1kaSY7uJ7BJ0FeKSkuSQDaNriWxohxx+AUbbrqDQMY+vqUMXkGQVm7QRFGrcsKjx+6nI1NPe3mgW8m5uxJAxG4XP/hUIh9s/Fv5Z2xVC21V6ymzxq63dGUbwktIKBD/m3Kv4nTVVq5n61IfQ9AlhipKHjBF76sC4l/uxFsMyIAU5CMDXzdBrIneMdEHaCIfi2KvhSwvDW1VH8ldtktZAx8IvS1VTVkYS2Gvp2Q==; 5:P4aS+Ig08HervbzsyjEGz3h+zFaU+kLqfRpX3E0KRhx/JFASsI2RPPC1Jx1xZ7FARkesGKGQOI5kP7YmLMMFm1m5518ZInsfwMk1ffQw3o6XLUqvlPAw6Q7RPG/yazvMXRMrZ4trCKao0+6m9o9f0E0g3ew/xcnVKoAGjUP/1nc=; 24:7jlZKEJ3ffRJafMgaPLOGwxoqgk5rcOKRC8PeOJp1q2B2Y9K9qWdzpwhlrRohj/+IFDgPJdJu/Zv6XXdWnV81lBS9ISK5NxYEtXsLQqOwz8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 7:lEfisVpm+BDP5QOFYfKN/9FRpCGkd8+Y5HfNBFghAwBHJrUJXJdWEsSkl6ZcyxkQYY7+Fxzsis8xqcaOCUvczw7bnMXSWx6xGkx+eTqzfMh5a2shVqhGwvtMq/SvSKS+/6lQOOvE0ukMDde7eHb7ttVLw4pwTL+thrkm99nEEa2cSLkFvn5fo5DJhlEfJOwULXk1QE6LI7x1Okl6DgP+QTyufFw8gzOBlwn1XcEkvOzbBmnTNfAkrSWMVNrCHxWp; 20:yz14pmmfv65fijvkNkV64raRi5Mjlv7fJoi5PX2A0xXAYu2Gmkt9WZdzj82dfrZlXjcwVqY1meK7G1CAPZn1LwIqlhZ4v5YDzsqmcx9h9zIW6GazNTNVpkkIxiSmh6fUvYz26mSOPZrfMeZQNjVC+gPeP4AYw38qAoPWszzSruU= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 17:45:13.0182 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f74f3f20-ddcb-4f4a-e102-08d5dc55be10 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0396 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.141 Subject: [Qemu-devel] [PULL 3/7] hw/riscv/sifive_plic: Use gpios instead of irqs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Instead of creating the interrupt in lines with qemu_allocate_irq() use qdev_init_gpio_in() as this gives us the ability to use the qdev*gpio*() helpers later on. Signed-off-by: Alistair Francis Suggested-by: Philippe Mathieu-Daudé Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Michael Clark --- hw/riscv/sifive_e.c | 5 +++-- hw/riscv/sifive_plic.c | 6 +----- hw/riscv/sifive_u.c | 5 +++-- hw/riscv/virt.c | 4 ++-- include/hw/riscv/sifive_plic.h | 1 - 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 384b456540..006703163b 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -190,13 +190,14 @@ static void riscv_sifive_e_soc_realize(DeviceState *dev, Error **errp) sifive_mmio_emulate(sys_mem, "riscv.sifive.e.gpio0", memmap[SIFIVE_E_GPIO0].base, memmap[SIFIVE_E_GPIO0].size); sifive_uart_create(sys_mem, memmap[SIFIVE_E_UART0].base, - serial_hd(0), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_E_UART0_IRQ]); + serial_hd(0), qdev_get_gpio_in(DEVICE(s->plic), SIFIVE_E_UART0_IRQ)); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.qspi0", memmap[SIFIVE_E_QSPI0].base, memmap[SIFIVE_E_QSPI0].size); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.pwm0", memmap[SIFIVE_E_PWM0].base, memmap[SIFIVE_E_PWM0].size); /* sifive_uart_create(sys_mem, memmap[SIFIVE_E_UART1].base, - serial_hd(1), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_E_UART1_IRQ]); */ + serial_hd(1), qdev_get_gpio_in(DEVICE(s->plic), + SIFIVE_E_UART1_IRQ)); */ sifive_mmio_emulate(sys_mem, "riscv.sifive.e.qspi1", memmap[SIFIVE_E_QSPI1].base, memmap[SIFIVE_E_QSPI1].size); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.pwm1", diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index 874de2ebaf..a91aeb97ab 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -435,7 +435,6 @@ static void sifive_plic_irq_request(void *opaque, int irq, int level) static void sifive_plic_realize(DeviceState *dev, Error **errp) { SiFivePLICState *plic = SIFIVE_PLIC(dev); - int i; memory_region_init_io(&plic->mmio, OBJECT(dev), &sifive_plic_ops, plic, TYPE_SIFIVE_PLIC, plic->aperture_size); @@ -448,10 +447,7 @@ static void sifive_plic_realize(DeviceState *dev, Error **errp) plic->claimed = g_new0(uint32_t, plic->bitfield_words); plic->enable = g_new0(uint32_t, plic->bitfield_words * plic->num_addrs); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &plic->mmio); - plic->irqs = g_new0(qemu_irq, plic->num_sources + 1); - for (i = 0; i <= plic->num_sources; i++) { - plic->irqs[i] = qemu_allocate_irq(sifive_plic_irq_request, plic, i); - } + qdev_init_gpio_in(dev, sifive_plic_irq_request, plic->num_sources); } static void sifive_plic_class_init(ObjectClass *klass, void *data) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 45b6aeb36b..3883d7ff9c 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -320,9 +320,10 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) SIFIVE_U_PLIC_CONTEXT_STRIDE, memmap[SIFIVE_U_PLIC].size); sifive_uart_create(system_memory, memmap[SIFIVE_U_UART0].base, - serial_hd(0), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_U_UART0_IRQ]); + serial_hd(0), qdev_get_gpio_in(DEVICE(s->plic), SIFIVE_U_UART0_IRQ)); /* sifive_uart_create(system_memory, memmap[SIFIVE_U_UART1].base, - serial_hd(1), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_U_UART1_IRQ]); */ + serial_hd(1), qdev_get_gpio_in(DEVICE(s->plic), + SIFIVE_U_UART1_IRQ)); */ sifive_clint_create(memmap[SIFIVE_U_CLINT].base, memmap[SIFIVE_U_CLINT].size, smp_cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE); diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index ad03113e0f..bdd75722eb 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -379,11 +379,11 @@ static void riscv_virt_board_init(MachineState *machine) for (i = 0; i < VIRTIO_COUNT; i++) { sysbus_create_simple("virtio-mmio", memmap[VIRT_VIRTIO].base + i * memmap[VIRT_VIRTIO].size, - SIFIVE_PLIC(s->plic)->irqs[VIRTIO_IRQ + i]); + qdev_get_gpio_in(DEVICE(s->plic), VIRTIO_IRQ + i)); } serial_mm_init(system_memory, memmap[VIRT_UART0].base, - 0, SIFIVE_PLIC(s->plic)->irqs[UART0_IRQ], 399193, + 0, qdev_get_gpio_in(DEVICE(s->plic), UART0_IRQ), 399193, serial_hd(0), DEVICE_LITTLE_ENDIAN); } diff --git a/include/hw/riscv/sifive_plic.h b/include/hw/riscv/sifive_plic.h index 11a5a98df1..2f2af7e686 100644 --- a/include/hw/riscv/sifive_plic.h +++ b/include/hw/riscv/sifive_plic.h @@ -56,7 +56,6 @@ typedef struct SiFivePLICState { uint32_t *claimed; uint32_t *enable; QemuMutex lock; - qemu_irq *irqs; /* config */ char *hart_config; From patchwork Wed Jun 27 17:44:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 935649 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="nXVdXXyu"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="c83stRaB"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41G9RD6Q3Vz9s2R for ; Thu, 28 Jun 2018 03:50:00 +1000 (AEST) Received: from localhost ([::1]:60698 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEZq-0006wD-Fm for incoming@patchwork.ozlabs.org; Wed, 27 Jun 2018 13:49:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49389) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEVS-00048V-4z for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYEVP-0000qC-1C for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:26 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:22602) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYEVO-0000fX-60 for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:22 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530121523; x=1561657523; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=j6vb1k+ihCUbLKB0CBaq6ZBAuh+rST7SIJVGcwdGq2c=; b=nXVdXXyumHGAX+Q+hT5bDfWtQbdxmg/VzwtNnmxL6PTvF4HDbExYOIP1 c32teKEUq7pAawamhRSvDknwuIkd/5bMnA/0KU8FjqNrvLYyPe6vp0n34 0wJsLu7Rb+riRMTD0WQveNU4fNER6XszPDi3JJ+v9COJb5l9iylhBuzpD krOaBERYifbrCDr1e+Q/FojKvFxvO7ryvb5v1FxEATByKAM1eNx9egSWq 77xHzBke2UzeYcWhX4L5ka3VAR5P2MdiOHIks0anxqHJen/7gVMbBpX1d D8JmhRJIYhdaR6O/i4MK/mBT77VqAByAg6S+4G3rpTju3sYwQS8X63+Wh A==; X-IronPort-AV: E=Sophos;i="5.51,279,1526313600"; d="scan'208";a="84764297" Received: from mail-co1nam03lp0016.outbound.protection.outlook.com (HELO NAM03-CO1-obe.outbound.protection.outlook.com) ([216.32.181.16]) by ob1.hgst.iphmx.com with ESMTP; 28 Jun 2018 01:45:22 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lhngcJy/Uy4Gt5FC8V9wZOF69X107Ul8AyJGuHA2Iz0=; b=c83stRaBqZa3QMZe+UraipEXuUFNuXu4ye7o5A3ZMUYkH+Pi3N6jDIVfvrMpQvtRqwRdCL0BaEax8VmRkTbBgMEfQIb3COgn/ovm6cDnFWL7ZfLVBNFlAHHWxOqOS7Un0/z3nxFwafM8q77xErOoyTiNXY7vvpBKU14hx2ZKl78= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.23; Wed, 27 Jun 2018 17:45:16 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Wed, 27 Jun 2018 10:44:32 -0700 Message-Id: <20180627174435.31800-5-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180627174435.31800-1-alistair.francis@wdc.com> References: <20180627174435.31800-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: SG2PR06CA0125.apcprd06.prod.outlook.com (2603:1096:1:1d::27) To DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 03df3be3-4ea1-43ef-13e1-08d5dc55c06c X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0396; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 3:+hkvyrcc77J28XnSDeiwGnKVm8j7q4Nk01mCa+QZlTjqBqktEagjM2GSF2egQto1XaRk5Q9/G33e4Pun20tW7FNwaeVC1b5JX6LsGMHzJsqYmjbSsMCjcSqMH40EKbvjgvaD+y+F49eeV2ExKrt5B/gpsa3hLA6o6ZhLhRszS832Q3wHvnq4TaDHapKIa5Xh+J8HkWMp/M4A8VJn3x5vG4+IyjzG1NwRhl05wIuhPjAXk7Cvf7uqPtpMQmBvSCC7; 25:1BImRykSnZ5lKUovF0P5nqHCTHRb0SynJyQNkIYNlRsArjYh37Zv+fPFm4+0mFFTxyjcKRf1Sbj5AsHKdX4pCLQcVKbaVu1awjZZFwWETRO1OUXlrQHVi8UdlHyJB60BJKWnZaLKiYvGMSUmxajRtUW/Aos8SDQKLO983GbkQg1Z28zVSA5eRPbEBzFBgiSfn6d16BC6R3k6/t2rZjyQh9Nv9Kuw4aTzuW9gnQvCXvnUFMejrannkdaGXgsLQHpzTPA9EII48Dw9Mxc4n9HalzzZUE1X+1f8p1KUTa3Q/qxXBc+6MbbmAjoOWbyM24LQ3YgGKF/1hbSSNlgKjwm7Hw==; 31:uvJgA1H1u/k96TH3Y+gqqOc+1QNeeIaA3dg7z1sVJ4H+V4oJwx8LzC3WM9644/vJ609d+rfHCVMFcXNS1egt6t6AYHliFAo2d42KaPSyQMYgm2VUL84Hi7O45jJoQ8wmRNmXWgnp3x8uB6Q+aVsrBEiGapw7nDh36DXWKk7LZhTdZu76hi5t1tC27gfrrQF/xco1llFyny3Jt0wFg9RSbW93+8kbypUvbpzrrOWmF+c= X-MS-TrafficTypeDiagnostic: DM5PR04MB0396: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 20:Sqavu/sApiNCqp0xYDHO7lcc1W/Wm/qmRnuphP73NWBAJQQjtWfXg/4czw5MItnRKWvZNDh99ZKY2b4f0RKULRkTi6Hmwx+cAAskDIWet+DVeOpCXu+Lzgs9yCImjUUjvSU6sjUBln2++xRZ5PCcotmYDdwdxNAOUOtA7H4F/gwvi/FuY7Gjjt82WfJtXHvzRW2/f9oPqY2boUX27P+b2KEwsXK6yQ4zd68kJEWt8H21VZh+NVVsXzQWcXfRt4pVWDsAmPc3sAewMoknsBGzHvuHPSMKlso3pZXMACv24Ny8zCtgLmeX5wed3jROe7mWe4ATisMi6Ed5+h5E0npfKejqia4G90g9O4QQEIJSdqoI5rGgVay3folfiT9LzwFBImz6VmRaX0YjZ8M/aBY8tQ4QqFRx6HCKiLkxwmsHk84Su8Wz9qDmdpTYFcoytjXdl76bwZuklEXxmTzQTHGlsR4z1gVZMhJmMP7taknt98Kkx7noSybIHl6/1wq+TXWf; 4:12Bz8yrXmLJ/Es4YBX2aAhVe808nIRNevfxJ1muZ+VMSAk29TfNrFfGxWC6rzAdFu5DQoinJvmel+etsf9sv9N/VGhltEQQKtEx/oAJULGC4Pkoz5MofCUfY+tPPVsv0GRmgT4WT2y82/Q2aWc34P1U+hSen+j23wQwS4RRQRGMmkac9MVEVcpb56T0j/FfjjLWj1pA8bbPkjmxiS073BSSpX/A6gEdhT3zXX9vvrRsJeF+mKLeCQzXGunpbfmS+7KA1kZxW6RX/DYEb3ZjXkg== 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)(10201501046)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR04MB0396; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0396; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(136003)(366004)(346002)(376002)(396003)(199004)(189003)(14444005)(6116002)(5660300001)(105586002)(44832011)(316002)(86362001)(50466002)(446003)(476003)(11346002)(16586007)(2616005)(486006)(956004)(1076002)(478600001)(6666003)(53936002)(305945005)(7736002)(106356001)(48376002)(2906002)(8676002)(76176011)(36756003)(8936002)(51416003)(52116002)(6506007)(386003)(6512007)(3846002)(72206003)(68736007)(66066001)(97736004)(26005)(81166006)(25786009)(81156014)(186003)(4326008)(50226002)(39060400002)(16526019)(47776003)(6486002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0396; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0396; 23:PrtDz36qNklQmo0XxA2sCK7fwo8O9luBP7EnFvHAj?= A9J96Ub/0xEIT3d7z12vN2DyZHA7FUA77XHTuImebkKIZn7oh+58n+2TN/00rYZ6Ej0/ZVhKyw6c6cWBJjStVtzqQiGoIcTCOwSDh/SjjZ7yGn3ya7AhpkSwk16w0yOgyruVOtaqI9Mt8JzVIyKk+XzwKjUzCbFO56wb0Pbwa6vU3PbkFdCdfCNKpG4nWc2pNmqJQr0CVN9sdMRMg/39bdYcWQJAv6HT0n9OBVzatY7sTmt7HnOBYUwmfupB+tmcQGaYXYOaR1R1+eIldLcUS6qre2tX6r0lgyOTNwBuyvi+JpxZuqdjOOqm2iocNyocJlE9rG4OD6D+5BMJPh8wgsagZ8SHPUwBTJ/8CYCR0XBhkhlZ/RQ1+bDZL+PawudjEhbzxJIV3mHQRCuokvnka07TY89L6yAkiPanx3ET2gdGG8j/31LKOyH92tXCIrCEchyK+71P5/9E7rGW3EN+G6u6e5Ax+9/5aRhGRcjRkfiLowpoFaqwmZr3OSjGM+2ajtWilX+hLPurByeRON+hShu+pKWbjtb9Cjj6ScRBzEaTbXolAQoMtRZrygdqgkgknMcoh1ujWh9vcJIb+fIoRkPTm7a7vqBLC6m5zFuU5nWJ9Ena5iB0P0Kz5NGW15y7YLFkDYReZHxWOXO3cw3zTyF/5tOXsKFVWtKXr9VOcFeA7CxjqVRWwNL+c9ez3+zklaqZrM/m23u+baRxjo/rrajS8vGbfQpqmtguao96yRfBenxaK9YrIx+e9FTeR4QzLUbyZpoOzaGJAlvQRLh2b7JQvwmbz1Qg70fqIV7TgRyuJ9I/esoTN0O7F+f55W4S4UyrhgRId4q/K0wMWpeeJxN4uSBXgF4I99BuZqtDcGd2d+c615wEDlNjPRCEUq7Yg5lYMrHfq6enox6r4HwAVXNtfmVmckOK1jxxOqyhG76vztTZGOxAAqIfTSU7JaYzrfW5jx0IWbvCkSucSo0xhAwaPlyALRNoaFXFfO4n9XYLH0UVUADuXUxkzBMibAya1gJMmBDQp6GRdKUcusmlCQZ+4pyk8HxuUxDaJp/d1Kzs7fyOkXpV24rRZLxrL+k8VQ0mAHXEhzxIdfkvFt/Qy7aEm5ZaIGWP3sKWnNh6Jrl1ph++zeWkA4I0MK4qEyH/FrDwWDqbzNwFReVmC92JJ9G0dLvEg/frcwb/L36uLg/wW5Y+z158qibLcqkIWT8tkQ= X-Microsoft-Antispam-Message-Info: rtZ452Uw6TG9Ib79G170N0nbitzYx4MLIPOAuRfAaSG8XI38dr2KMBupc6bEhc4ZALaWRD90QJ2bRjd4RHtP7RC4QrPnK6NOmjKcIliag5JwB7gKWPK94q4tjU6yzvGy4dYHh7oVhfk8a12ZBkg7pHtelERIQSs8k7JqKUqlDHVVAoWZ2Aauo0AzbfSMD8vyLtMhlw7QoV2OeZBXdkUn4QbmIKqlRZs7IZR3sGJ+nVPshmrB1oLLOJNr4ldmLoScgPDHUHW7DS93x4w2hCuOJYMTdPJrJP5rVc8zt0LYlkQKvn2mywU/HNyp1fK3kfrv24qHFyvZ7Z3Ax9vO3Gps+nRwY+rRSKN5SM7x1/TO+B8= X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 6:vbmu2NnJMQt5PVdKSJXw1Ki8IwnlgwO8gwoRWgHXEmAOPh4aywzLPC8Ny3SQ3W4L98s0lhZvsX9GYapiGusTmgqUulTwG+V+yhoBStOXUzvUVx2zLevTY1hLu542aUSiSrEDkmySTdMYzROOQNUxtsPyjhsfkj/p1BNCS5eoCDbaYb37StUOin3ncLrH6N8BkNmwrMltFvjx8vcyIgDg5s3m8yW+PqFBSdrTdw5gCinaN5irjV34ou4zDy+hBRhEmuSmZ22OKUiFTk0LAz/cABhW69AeyQohLC7P4a220F1sVfFJTpeSM+UKdKXgrGCfTr4QSA0wE3LqtupiNluBjpY8ZhEwOL/RGupTRsXm7jjYg1KdowhvaDGhcmxaXNUgRVlzgO+aAB73nTf4ZXTkfDv7dAC7e01NJ0HCQMmvtn+xVJOs/n05XaHj5V0EaB88s4N15Fcn6/hWI0ZyKKkQGw==; 5:cqAE5RPjq99C4W6OTJg7W70Kbpc4eT/Yr3mxbMFeBSFAt5FsFz+k9wWvo7SDDB/gC6we+imqPx6XxLzHrKyiwofqJ5yLfmVVNYwFNdJqSFkZCm/bPGHW+w5lgpDhU+l/hxlqE2TkVY9GTKWJkqhFlDgXl7X4ifeTWWTZiXQlXAI=; 24:X4k3HpFgdkm4Y+0VBhcsUvyALwFvfGl4kn0IlQfaW/n2l26+u6/fDVB/O22WrII/bGKrWU1vpzpYmqgHyiCrj2c4xsAyKBrrEm0fKUqgwzk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 7:MTveOWh5rXe1/WC4/zpYdhXCqIJRcPMn0VLFDPAjnshj8bqHZgoSrM/itoq62dlKIc/LOly83koJ36a308fpZ+Y5j5pllqhYYmF1wLrZHXmEo6kfT2Ycb9SOLugC2dvmMuBrzeww9f4BeuuiUn2X22gsPbtao/buVFK7ZThFbLotGKUkh7tS6Dm0wVpvLSydHiAgUVf1ZsvDQeVrmRz+ZS8/IugMBzzJ6oMOnZ0GrS/2Jg7TK1qLZuGYRYRlK+eu; 20:445Gz/kbPciHijIiHK1pKE9fS9nQ+ijsztrjNvtcIPlmVveVGFsGpYdqJjLzMau4wcFH0IVggxsmQu6fM7AEtdE30k3TsZRt7O3KXL6pkIhvyzt8TxSb2bEkIL59sY6Slpy0DhLWgeW86QEUlUWEm4GGRzie/b/ARUpqse/6seA= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 17:45:16.9713 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 03df3be3-4ea1-43ef-13e1-08d5dc55c06c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0396 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.141 Subject: [Qemu-devel] [PULL 4/7] hw/riscv/sifive_u: Set the soc device tree node as a simple-bus X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" To allow Linux to ennumerate devices on the /soc/ node set it as a "simple-bus". Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_u.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 3883d7ff9c..f438a72c27 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -97,7 +97,7 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, qemu_fdt_add_subnode(fdt, "/soc"); qemu_fdt_setprop(fdt, "/soc", "ranges", NULL, 0); - qemu_fdt_setprop_string(fdt, "/soc", "compatible", "ucbbar,spike-bare-soc"); + qemu_fdt_setprop_string(fdt, "/soc", "compatible", "simple-bus"); qemu_fdt_setprop_cell(fdt, "/soc", "#size-cells", 0x2); qemu_fdt_setprop_cell(fdt, "/soc", "#address-cells", 0x2); From patchwork Wed Jun 27 17:44:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 935642 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="cRm63rk+"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="OCfPlaTh"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41G9M02VRJz9s2L for ; Thu, 28 Jun 2018 03:46:20 +1000 (AEST) Received: from localhost ([::1]:60684 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEWI-0004E6-14 for incoming@patchwork.ozlabs.org; Wed, 27 Jun 2018 13:46:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49447) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEVW-0004AK-6K for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYEVT-00014R-1Z for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:30 -0400 Received: from esa3.hgst.iphmx.com ([216.71.153.141]:22602) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYEVS-0000fX-Ju for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530121527; x=1561657527; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=n38QefGu1hzLx5+T2Bh9Ne2r3tsq8YXzW1VuLA+B4+w=; b=cRm63rk+1l5T6cwT2VVfRrMFew0JGQcMMWRHlkWi9LcB55oXcsk8Vt4r kfXLo0XcoLc5IT67XUMbtw9Vhzs+Y7UBBY+ObqRv1Lq2NopIMJhzjxtB1 BXi24UVwKOXCjOVVaQBozPZmHGg8wPl+lI0Kv8t2cT9x5TYeMcs1dPNMz vGxarccUapSQycIZUtnRe+pEBXoYga0N6SaCiuWdHuX100N7bPSwj/BT9 XA9wcRMOsES/yaIoblKPpfL363FjONhykM/Ud630tK3MImEoIU25Fmgpv hq7TJ4tU6Np6A8mwNcKzMfwsFMLwthWvAtp2O2Sbez0p556Wf6KC4Wuq8 Q==; X-IronPort-AV: E=Sophos;i="5.51,279,1526313600"; d="scan'208";a="84764323" Received: from mail-co1nam03lp0023.outbound.protection.outlook.com (HELO NAM03-CO1-obe.outbound.protection.outlook.com) ([216.32.181.23]) by ob1.hgst.iphmx.com with ESMTP; 28 Jun 2018 01:45:26 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FdGczF+g96spsHOp6St0pkbPsF9+DyEnU0aRI+ASnQg=; b=OCfPlaThcAAXqGjxWDcabZVgfAbFweGfSj3Z/bQjyY6V/NTy1qistVj8RRRx6S+Qe4gTjsBQ2vf+ycCqEiev8K+LTIPjgmKvUxxRc37Y5XwbaDSDJg7Erili3UgHwlliPp0yQrRMG1NY/gI7qoWmfmJZ471VxGAzty0K35Luq+I= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.23; Wed, 27 Jun 2018 17:45:21 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Wed, 27 Jun 2018 10:44:33 -0700 Message-Id: <20180627174435.31800-6-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180627174435.31800-1-alistair.francis@wdc.com> References: <20180627174435.31800-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: SG2PR06CA0125.apcprd06.prod.outlook.com (2603:1096:1:1d::27) To DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 02f33eda-cd30-447c-a7cb-08d5dc55c2e8 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0396; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 3:CklzLAKQQogQyXtoHQegOcasjwRn5c5Rr0p9DjA/VL0HaCZwWgyF5zgZ6fYGhPWmWjy5jiX99DuBxmnhkj+Z6L+o5KF8oKLnYdPKqCJDS+y3iOdB0Ezdy0C1aDTV80KVpFScNOfQbII3CCQIoz7wKE+eX6AOetCUCI51yHBEONxfhLxQcXcXMGpnpAudqwbRAW2kmtGeDNXkAcccnN9up8zgwOsA/8X7/KRQh6XpXKZMZTLOns6PIXIBDX5DYVCk; 25:LISIQXWPHFGRg0OUHjeFTOTGz3P/slY5kBiGDag1QQQq93cfkaTOSkra1DOZPAj15QbGcL4gk5LkIdI9/remkJqqUzq4Kyo/7aHWgxrAKDtYqtKj6OfJHvbIwUfcMTmnyOChRc930KbesKgezaqmCZlaC4rKTycjxq1NXIxHfqhdVezBQnk+atOjFG3OFyUeTZzvyXi3N8Y+IpPK+Sr3prY4MTL3zB9MtCy4PyvupnaQYUbCjQCBC30hvtBQc3/n0nRE7uURE2NRy1SdOIexaYLLhkfAOLXTL1XItBu2vSjzL9FirLPKVoBpTz7OWW6LXscfUyNwn0UDz11jVLT/RA==; 31:JPGJqmG+R0eV9i9yR/tCdrZV0O9N669HBTM5OkrtuE75+8Nmq0c+5T1RX/zRYFKE03CVrtSUjIeOvYlrPWl4FZ7DD2r0d3EXBttoZgTGoEVFld6HhRBZklXaj6uE99gbE/DEeF4uVlrUOi8/WoYv2qFN9jmq+8tXhtxedaFH61TBNYGEY2Ul/6aJc59pTALm+lpOyzSOw5TGREFYdFB9XP2xQGUhF7pvY+oOEGPaow4= X-MS-TrafficTypeDiagnostic: DM5PR04MB0396: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 20:Mmh7Bb3Adp+bT5HlMYkq8LwAz/Z5prXGO1kG738Ct+XKbReFpRJkbHqznbo2gHlD2XYOy7p4Vqf56MHyiFvZLSqwkQPGtvgOasFM3Os9NNjUO4AIg4Ien8d1BFivSQheyaGdYg47gLhQoZ18Is+Y3oqoYFpj5JhS5V/3G5Knzd/24Jm8fXL8olnGJ+xr8STMO49YvNsQda4/J8W6rufdnVRoH9b0vuDMKNbRI5pVl3SEMvnD5tp5PMFYNwDyszfpZ+8IBHE1/Rl5Fb578zK/keI66SNtLrpzu1rFiEWJPWML2zth6kvZq0j/TTaq21xGrROimaxsVWX3+59JPCMrLYJPwR5zTNVVbzKRpYpYqulAtBXCzxK60mYc21wqclYtAmmnYOb/qIGkx5u4Y200H+3a46Sttpw99IWUuR6NO1puwZR7yjHEahkdnwgyT95G0J6UsoBbBNUzWnefsBliJDT/JvLeV0BehmxT9LLOVzBytTyq/jpxqHUWG+thhkcM; 4:zKOkEko35X06vT9LRX3C5G5YBxSMOvbOnLkxlBJb93tGGPdpJXHaFu8RZKZ26xFdYLUuJ4t7WvK8bjx0MCpjKWxjuISWDLgmiz8OD8v4EXyNfwegti1z9MARQLQHgzkthc8L4ZzIqcpalgW+Qv+TCGS/jEsEI1vJGlmEHbURjLyz8bptYCRIDQ3bAxXkHFN3Db9Qxqb7NPCdBtAKbAkPkMao0kDPjYWBOhbsuwJeTmZKg0dM0Ioj2SRp0ivl9vpnx/is1nbkweno4OjYVoUMng== 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)(10201501046)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR04MB0396; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0396; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(136003)(366004)(346002)(376002)(396003)(199004)(189003)(14444005)(6116002)(5660300001)(105586002)(44832011)(316002)(86362001)(50466002)(446003)(476003)(11346002)(16586007)(2616005)(486006)(956004)(1076002)(478600001)(6666003)(53936002)(305945005)(7736002)(106356001)(48376002)(2906002)(8676002)(76176011)(36756003)(8936002)(51416003)(52116002)(6506007)(386003)(6512007)(3846002)(72206003)(68736007)(66066001)(97736004)(26005)(81166006)(25786009)(81156014)(186003)(4326008)(50226002)(39060400002)(16526019)(47776003)(6486002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0396; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0396; 23:dopMlIA5BDSqq9XiBKXXJ+i8KoVwPam0D0zeb+jse?= t8oqLpImt4RpRAxGTBgkgNgoYroMII+ufFmA4flkZbnHX8NKiYZWKcNOvOdh5k3U9dYm4xLuXpzFZgHpi7fgJqAKz7cPadptuE8nHGIvYCaxLg9hk5iB5jZWo1pxrn6C54Kpl4Mq8GhA3USIaRzb7ZkQXCDjhfG5lPVPNNx1TgSHpM0y3hQQvCKrZlwG3yfYjfTz2dGmKnwwumrHooSpAYEhQanW1gNOUr6W/fvbEY+N7+96hpWRlqyYjs88iiogKT9H+7j0frrh/oiwBMDC18SE7Jfpi8HE1NA++yMoc/LF6zHtCwsXRGyA9IbY7wFRNHO7J++DR4dWO8iz1LAOCYR68mNJQ9YYiEnpMugCcJaG9N42tgGTltuuF2cRdaK5Qzmc1cGt6mViQtJykXfEONTh4PqZ3zCQmuFnUSgXZFNMC7GZAb4PkSN5dyVfsIW7B4FE5DfGX9vYAL2tH9Lowfbw50Jtz5pRZzOhReqoIFpu6iTWh4GjoT9E+2RSv09vwO/MR5EI9Hq8CFLJmxJAyhNP6oA8rHdr6Ei58W+eWfztVsLMP/x9Pe2J9ApptLFLtGVhaDfOLhb4ccaj3OWTbE5ZJh50OflFIOaKfVvh+d2YB/DUShrIqbARojXC5k6AGBgh3Vx8DT1MHcWhkMO+95+5FYFKgzhORZOObR9nP1wqp/b51c/mILslIM6exKxdaED5OF0NNGt4m0pXtLrB0OQGQMeovmT26szEKclswSIkTVQCiE50UhgZ9NgPpQ9G0HhP5rNROYlqjLbihz4x+C+wNQ9ZeeAguOMMJuRcoCh/GiLTZTokHj2naTvZLhX15aGopBY57EvX53AaD0ln8RTFi4KgSuGzxQ5QGWRi/Z2uDle6mY1Jj0ELN+TfRVWTWznzWw9G8mHndkNFC6GoPDtLVBVH0s/Dz4wFXdsblElZAlvF4YtI7e94HVfamYskns/TBEiNg7xWseS2rErphjpsg0JlY1sImspg7UBVLvf8j1yAs40uPmpujIbuUOv62pQfSfcrDARvaBnMaGJUjn7RGebwM/9rGUT9xcRibOfdz3FQmrWYsKgyOWCWv9Bf9N38SCPXwqBc6WOtR3Rbo0gUCXQaO0yYkgx6YXBVSX13LxIKpux5KXB2p+1zZRnvFaQC8bnWqcPxUDVV3m8QbAw6frhuzr8b1/ioOuh9j6yum1yacrWOpzgecdQed9ffbU= X-Microsoft-Antispam-Message-Info: n4DdcXt41BbKwx/cyuGzEOMG0nPnVl5SutyOu4luCmUcyA4/4YHjoC1QP7hoPGXLbRqpZ0xVMOfRr3N5RQXpv2X71qP2nd/ou/EFSh2mQF62tG0+w3Z0ZOhLVxv0n+uguwOrjxh9L1KjuyEJFluoD0GDPwDa0A1NE5oIJ3dgqi3cwG6wzq1T7LoJm8svmlOgU7VzmEOCKji2dEVMth/zymVbB2ITemTZTzkhMeRXSFY1E6oCq/e54KLFhrZx5mDQihYtpoHcVAf3zp48sLFZRrLmuIznv0LEFTPjswh9YBF9PkVg8T/vN84R2U0H285w3FZqxeI/jL2QLJtxdPUZ2JY4bjIDm4joRh1fup9ICsw= X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 6:AsrdZbH1xBEpzHZ4A+j8W9Bo2eoCjTh7Odh68xAg8R0XhtRWBob407xEx8uL8ajL1QeBUniHScXiHjsY/NLwPnXvi1s6t/E2mP9LjEpKMllhwFcMC56WawakhfLsAseujtblsbi3oDgx7NiWzCOdK5N4a5ppKNO8Ht6NPLkba7ImA26h5rFX6hNPWyvjCy//6jlNkMjgcnhohz/C2A1+T9eshN1RKDuHpJFIONmnuSaAXfDSA55UR5d3im+Yvmbr/OHvNoCW1IwV1c5HC1Dow79dRl/lYw6sJgaxkCyfvUG4pe3I+1xzN/FU7iuWviKJXegnWryCi8JMCWypnrge25e7hV3p6/7XbdpEe4eXE6vS0MFGXbCXepjXkQBtjjSqxBJqobYvaYzxOWzhAZoRt6BoXFfOKLL4Fmkt9U4RG/C8F0VHxA8mTT2hBu8m1HIHO0b52SyaW9F/7URoMsLv0A==; 5:R4x9lQTHmFZMVTLI/Zrgk5ZcuFr+CE8gY8nxuu/U6qyeHhTaoyS6w3VL55GSBIKfNrwF01990Sdriev1bLTB7uhj6loopbEFiP56dU/Egi+sHf2ix5Iupc6Gw32nK+uDIeSC7cwS8EY+MigiIu5SX51HFlomIxxdB1Q4BFVO/o0=; 24:oWz+YB/HhlQtxQnxQJus5D2aAoOLmnDcJiyHehaiG3fHzXBep0RKNMaAYARnj1u8tfAM56mtmwjsy1X2tHFW1kWJ3vXzIn1c62KLeiR25dw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 7:pzMB83eHWloHYdsuaZXdBxSOlgMvZOnoNtex/AVJc5S35sxCQ3WTuNNiFRVR95ihu3Rn7aAT+0If/gmy/0TDP09SXz0dpr6tRgluSW6Fyv9O5n8fnE+ZwrGFtjSjlWCe2HijtCwodwwMF/zSVzzAFHgMespG53sWkqwauZgz8O005RIsCGpiZKt3a2zLzX6K9BEBwnvmeIVBCWLYU9VZH8Q3wsWnmwjaLXQnjlP/po0rm5f0xhcqXgkYLvoPptpv; 20:EpCH1m9AGvR3GLZo0CbnBnK/CW1to4TN4f+awEzsRjA89RHrkCz3viRfyfisOMhkfQlPbj4qcvq1HuADRktgftYVbD7ocV2rCcVU4FRkWjS7l6+Lb+4j5FgCOlQh+M9ClzI49/XV7DqBiWLJxSNz0NgniurGuHRG8qeXtmNLK2g= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 17:45:21.1432 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 02f33eda-cd30-447c-a7cb-08d5dc55c2e8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0396 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.141 Subject: [Qemu-devel] [PULL 5/7] hw/riscv/sifive_u: Set the interrupt controler number of interrupts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Set the interrupt-controller ndev to the correct number taken from the HiFive Unleashed board. Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_u.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index f438a72c27..f71527eaff 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -187,7 +187,7 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, 0x0, memmap[SIFIVE_U_PLIC].size); qemu_fdt_setprop_string(fdt, nodename, "reg-names", "control"); qemu_fdt_setprop_cell(fdt, nodename, "riscv,max-priority", 7); - qemu_fdt_setprop_cell(fdt, nodename, "riscv,ndev", 4); + qemu_fdt_setprop_cell(fdt, nodename, "riscv,ndev", 0x35); qemu_fdt_setprop_cells(fdt, nodename, "phandle", 2); qemu_fdt_setprop_cells(fdt, nodename, "linux,phandle", 2); plic_phandle = qemu_fdt_get_phandle(fdt, nodename); From patchwork Wed Jun 27 17:44:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 935650 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="LFmYIXTF"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="ZM6VXACG"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41G9Tw3bnJz9s2L for ; Thu, 28 Jun 2018 03:52:20 +1000 (AEST) Received: from localhost ([::1]:60713 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEc6-0000DC-63 for incoming@patchwork.ozlabs.org; Wed, 27 Jun 2018 13:52:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49525) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEVb-0004DR-PA for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYEVY-0001Wk-LA for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:35 -0400 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:50922) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYEVY-0001RN-7U for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530121532; x=1561657532; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=ITeb9/8S0gESBsNy6CbMdhnty6HWgJlF9cXMBkVvOMc=; b=LFmYIXTFR9HWfm7Ph2xoIHVG2AwwwofeqKyYGQaog8qY+Ka/JzV8ff8Y EgfcK/gb0PqATga01Bl5vSahid8jRu4STPiWPRgviVTVUZ9mFPRQLAOXY INWhzL4CazU+NweLMdn8Tsks8iPiqIx05WdsAucr01LzvTYQaBh6g02vi 9zkfDmQQLduDYBXj6uptEoz1iIXmGkcwgeE4Jdb2JQjyzQ8FwvSpAgKUc cZonpZPqQKPCiwUjByfujaJurZckjsyP7qZTAaCPqurhSKtaZ//KK2l02 E/wHI/qXzkdJOT175t6E35tc405P23uR91Us7Ee6INrme+dECaUWJ+ifg A==; X-IronPort-AV: E=Sophos;i="5.51,279,1526313600"; d="scan'208";a="82725970" Received: from mail-bn3nam01lp0181.outbound.protection.outlook.com (HELO NAM01-BN3-obe.outbound.protection.outlook.com) ([216.32.180.181]) by ob1.hgst.iphmx.com with ESMTP; 28 Jun 2018 01:45:30 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KB0lsHi1YglslERcaSRcvVlZAOccBgfiyqwuvHUP300=; b=ZM6VXACGxOe4TGQdmYKpDiF8ogPXkl1Dx9v0D734XCPjZRt9pgN4NrkRD3tobe2nyQbvHi4yFPINoert/yyM8mHejqSSaDgcBaKVXAxfCKsRxO0toaUlRyqummNkUn+oZqw9Or5hcywMXbliHoY4n3uZ6FgXMw6dYMY/40DqyOk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.23; Wed, 27 Jun 2018 17:45:25 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Wed, 27 Jun 2018 10:44:34 -0700 Message-Id: <20180627174435.31800-7-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180627174435.31800-1-alistair.francis@wdc.com> References: <20180627174435.31800-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: SG2PR06CA0125.apcprd06.prod.outlook.com (2603:1096:1:1d::27) To DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3f3aa7e8-165d-4291-0213-08d5dc55c54b X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0396; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 3:vybD7tMBtPwjfrGMghMcvjaQ7enhYyblFlKBWR22YvBlyEaFntQxmQx0EZ6G0OlyvMmutFnUKJCGcZYzol6eMeUk3fD6blhke6m1Pg1YDSNm4DiecQYSrnAJAd4P4N/4GAq1baNYyQ/aJc6U3WbYq/IL/3iJswmpUEy1GF0q7ihXsjSBTjbWJzPcF/xforgYhOvT6WVvpodLv8YHyppnaGCI1YXSZPB2altyEvSS7Fef8D6VbaXlZifVbnDmklkl; 25:4uGresOgHjINgibq9BcQjA/ohFVPFkNP7MW/K+LU6K/KuiV5cYKtq4HMOQFnHlDHzHkqv9lhKvWJdGSpkOpNXQRFxCfwCo13n+4Rp80fhgVXqTOlADxf96muqNv+9yg8qbJvs1tlawiWA3nbEgi+QzQpb3C52aPLxGBiQOpDJjE4v92hJUZLyXBQ/IyTwF1QqeJGi8Xkfpv+FKQPYcd8cyjFrjA8rCCzj30HGJIzrRJgkzdt7qvQuYSnxthA5e61zLKfY9jfrmZ7siIgrcg3WdZKUz9wbiTPN7aXo0TweFlItaMndRSmG8giZ36U6fffwNYa3si1J0759Q7VqngnmA==; 31:bjL16aSkwBtNkhIy19qA98CTxWkw5YQoWKQ1og1ZhSJhvEoSwv9kSfDWRW+yOtlQOhxGinGdykSl5LNFiWeT70eqQHjhUAZEi6qMi1MqaoMRu5GZwtYluOLv5xYG3fQ6RsaFFdEocuM3zhwo4vAxNtmCFkWtcwJWTmcoZzC8axW8muzaCUSpq9JbyqCscbqQiD7MBVD7MNVY6oAOL5rjhPcIyeL1IzA4XXOaGc6vdwk= X-MS-TrafficTypeDiagnostic: DM5PR04MB0396: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 20:qKK3cClyJyJETYCWJnchZ54D8eLGP2L2NKJQ6J925890DoPz2Kw/dYO+Ou2vgorNY4uPBA705CMlBOAtU3tuBNK8I8fSmamMVc3+x/s1VX84YeWK5z52JN3i2OemqKfdHZSSg8WIAlqBMPfEISgqA3e/QoUn0zGb2akpXp7hu9cGTI78stv/kcv5olyTZGX9DxKlWYCTYOVdiEjUcmmzIS/bCJi87M69Yzsnds/MmjjB1ZpQKQuW7dQUbtZXl8iv0f7T5MwF1AvUpC/Meam7jMVE9uDvWuG3bt0+ZxMHVxxpqclNbpnMWQNs/wWArzXVS1+OTfkmhAjh/6vQn/M+IOt7ZlPU4BVL/rF6vwrJAGc9jFlZgGrjC4CeR8u8bXrm68AI++ot7iG7jTVvwT4tlcOJU6+9PSp++XP5ZiNs6EqGwnp1hLZUA6ELmlPYpxIEdktfZeJJjrMadaUwMKzMoUamw812FPgC6is5EFLTvsymWK4lUvDjgDq/gqC35qwi; 4:2CFEpyrcvT/Qtzpvu10J5DxL9KXrJYARXp87XThNU34idbupkvI6MMxbI7f6M/lSguZsWMfz4fc3UXK2YQ/pM44bV8MZJZvWVpKDa0QUqZmWcsThdUnSB3Xh0st2GSIs/ts23sRl5NbwlZ07kXxAPS5+IohYohPrzOZ2if55e0Lg+a5itSCKrQELq4SmwhOCvKEdHD7fcaCxoNDLHYzvjKOALWxK1ZhTlfSKZPzhBtEv6A2qbeDKnvxfCd9oIVj4g3zGsFCrSVJMbg7IMeIWhQ== 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)(10201501046)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR04MB0396; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0396; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(136003)(366004)(346002)(376002)(396003)(199004)(189003)(14444005)(6116002)(5660300001)(105586002)(44832011)(316002)(86362001)(50466002)(446003)(476003)(11346002)(16586007)(2616005)(486006)(956004)(1076002)(478600001)(6666003)(53936002)(305945005)(7736002)(106356001)(48376002)(2906002)(8676002)(76176011)(36756003)(8936002)(51416003)(52116002)(6506007)(386003)(6512007)(3846002)(72206003)(68736007)(66066001)(97736004)(26005)(81166006)(25786009)(81156014)(186003)(4326008)(50226002)(39060400002)(16526019)(47776003)(6486002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0396; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0396; 23:Td5H2lTuEUhxAr2IGav2E8+tnywBhazxQs0ZLTjtb?= sMXRauQZcyhFTbB8bfdlZrV5N/VfAa87jBgyx9pI4k7QBj22U08nVinG55UqtyhzetzPiazz/CJAc4fLKaZz0b+uXfueAcsAMf3d7oSzBVF76QHrgm9p5XDauPtr/w2QUwTr209Ej2Yzf1iO/c6ciXEAcEUZtlXIgXLylEVfcORvLqA1BIz2m+mRWwqf0H1FOTsvI5kEjFKiTo6Ri4TuYSuGTGY0zzPxKSKqr5vXqVJtvuo6++rSzDHiu9+I4xCd497dK5kOMHYImyVxQSWhaSoK1VZCbW6wpKKFKtONF32FbnwMAorSImLovv2pvRMFUjAiZrdVBXMWrAfK6fjR/lowfnpVKtlHPMpJ4Z4bEj72mJuxHX3ngBvk4lxVzhVj6uULwoXP8OjGZIejce9i1aQyc/G3/BVYJj4pzRc5VNq2aM2jcO5lG5JYz1s8jBgUE6Glh/fOZ+TbezxhmmVT1Af5hRVhr7NexQFw55jHumue0PO7my8BTIC0bI43jg9Xxou46HDgRaJiBZKAihGfqX7dXJQM6Lm9WQDtpyVME6ATyEYdw+oqn1IRMmZ6Ye7ZOAqOY5KU00Acy81iVTkVnm0bA5K2lMJnFh6oAmXeXrYpoKZrbFMMydHxjHDYYM7ICgpRFW8EX6FCoL7eGDjTdzK+MdFiRMwLz/5Xf6E/P1FkI7i+/LrniQkH2BwbpXyLlLzO6fXY02tEylyqE+46aQmrlPsfh5L9NvS8T94BIqO3D4FBLU4KKNBq6hkbiuGYp/pOe5Vau1Kt2s+nSKJWxnnvSPWb+L9ahn2pTOplLnYtRni39YLRZl+AAJiLYEgRvXv9MlxFJcSQcPrZp4PNbNOAYfi5zf2epKwUoUrKXFqmiXOwvLsCMeXP8Kq/tEFcD9VyuAyXaefaEe/5kvDNfSUMprl/wC4zGn61Z2qbxW0eIscgt8MXSb3VHOhSAHbEVAFJzv9TmoncFn+3WgB10YSWdGV0ruVbSmU0sUKvCRdF6th0z1KJroRUZkDVeL3jR9/Q7VdFd4H+RBrb1J6XJ9HVhNSqIgv3Wkc00JI3gWRFxIfiGydCYO+NngMDPyLG+xSBbqNVbC+x+PPRK1n7IWAlcqzW4an0RpM7dOu4pzIEy0Vdaq9r9OJRBtxb1ULD4X1JNOOl49McBR6y8G8BjMokmDOwJ4Cr464hYW/mQYzfNdX3tG5En7VN8BZFXksIQU= X-Microsoft-Antispam-Message-Info: GP+jAkvnLYAK6qfUbUDGEiGYXMXi4R9FR6JDN3h8x3lOK/TLJkjmKN5fe9wwxv+0b7ocpTL1p9tijjRDGji0vAvC6rRWHK8zLLmz9M2UJ9MRqWqOS1KFkoMsCao/dvex+w+vgqJCHOX5D9CLT64iKeHvvTzL9VWMkY1jEnCQ/jfkoZYuyo5apjxNjLELR69NntxyqN1eaNHNfjVtAiU9+C643CGj0G+N6QZ+MGsw/moXpX/aCVo/onuZTnomD97tq1qqJpk+Z4APQg84bYJHkbaKu2NV80xqFDuJUn+mollaLGOFk/cHaR4wI4zP6ZmxGzNUHH8T/LTBiuqgm8cOZYLraznDOQ8aJbOaaQXLzq0= X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 6:v5+biQwkPN2PN84W88D/nesO6Y6jh4bzeCTfWwb5TCaW36ZGOZ7QxYUVg4zJMPgQlKW6WUMuvtMp8Wqy8RzeAvRWF11NNUvLBVMeWBVG0ZbsMZC4c+vW2yAFHSk9da4O8eFpVM79Y71s0hsvtzeL7Hq0BSA0hlGLsPdfyW/E+rJUVCvnohDflyaihyfwdeeuv7LKjJHtqAmnaFfkJkGlf330z6b77ncQ/H3lpsbrcuJRUfSsm9Pro0piqHIaZcbGTpkDQsUAyDkA5QGZ4fythQkAvnZA2K297hf1cZ6wFP7XxhFW+GCRrwMgJJ1YSye+WutT+IRWpgRl7cQCyb1YUixwQVlnXb8YNu+DT+oNR0UH+Fm5xZKWm4Iae18A8U+o9JAMtJHrxpHUANyrqtco6pkcN382UAsZm1ZDWuPw7tOHlDqg4YzX50ha3RUhwEUqP71om4qaae7jy98mfyIy7A==; 5:flO30STVydU6X8k8t/bGpMScUGp+JcEH+0nLriS30dFy+dHSC4qhJg2c6lHSsJKCo27qz5ccvEhwCoAl9J5YKeaghGz31cBTwFbRo6gUw/xFNIdVBzoeR5pj3gc7IFYlFFWDz1b1snDucqGG/ASYjxrsxv5kJUT9y57oisalLVc=; 24:SlhxYjhMoB2E8n1aUQzEzW6tQK1cj8XuDFhijv5SXSATCV8eEDeBf+a9e111j7+6Dd3s9dt1Nz2mfvtpCnEcW0lNNO6ebU4cgzpuGsEBZD4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 7:U7/9+B5XJVMCmwmgM+DL5e1NGQFO6PKtq3jxKQqsR9dhtYYgU9xzDRG+pss7gbB8U4joXGXiOWcFyqoaZlcxIK0nmaOE+5IHxtjZYLoocIA+voilyRJlKDo/6Al8QMHADnakSfYUf185J4ioverdoWiJBgtC4bP8sgUhCS6X0AuMMzLkO557kVw1zHKFoZHsTYHmJ/ov4S2zY4ditMKtTAWEvfdub4euBFR3jtEZEti67RhCNHrb6U/1ExFf194k; 20:SG01zprdg8XlEBpwf+cZF8jMnBOOFlx8gIf3nULHv9GdxJEw8SwjzLnqEjt+DWlS5Z2/IXvEc7IyhP4XroA9vJ1ENKIiDHLRR3Z9PGOOz6AwAtTltsDidF2ZzIrIki6naIlJO2Blx4EcaDE3sj5j12z38dcbyNnaVHbY+Z+HyM8= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 17:45:25.1432 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3f3aa7e8-165d-4291-0213-08d5dc55c54b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0396 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.144 Subject: [Qemu-devel] [PULL 6/7] hw/riscv/sifive_u: Move the uart device tree node under /soc/ X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- hw/riscv/sifive_u.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index f71527eaff..46459cd368 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -194,7 +194,7 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, g_free(cells); g_free(nodename); - nodename = g_strdup_printf("/uart@%lx", + nodename = g_strdup_printf("/soc/uart@%lx", (long)memmap[SIFIVE_U_UART0].base); qemu_fdt_add_subnode(fdt, nodename); qemu_fdt_setprop_string(fdt, nodename, "compatible", "sifive,uart0"); From patchwork Wed Jun 27 17:44:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 935648 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="GNBqzAQ+"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="oh4ttcw/"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41G9QV3kfmz9s2L for ; Thu, 28 Jun 2018 03:49:22 +1000 (AEST) Received: from localhost ([::1]:60696 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEZE-0006TL-4b for incoming@patchwork.ozlabs.org; Wed, 27 Jun 2018 13:49:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49566) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYEVe-0004Ek-OD for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYEVb-0001fk-HF for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:38 -0400 Received: from esa5.hgst.iphmx.com ([216.71.153.144]:50922) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYEVb-0001RN-0E for qemu-devel@nongnu.org; Wed, 27 Jun 2018 13:45:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530121535; x=1561657535; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=lBtqtuvHxR00y9VDlJYzfREEs9eRWg4efnYfHbdTk1s=; b=GNBqzAQ+Gq+4cJjBZ5kFCvN/8E0Q/OYVOGg6lSAjci3UcvD5doMF3tDf 7SMGQsspSvbTXOl8xiqgpViCvh+X+OIiHc1AIansQoANtECC5Zl3qDXPD XP4JCI1iL7rynS3LbGgt3TYMTpT3JiizxqgyaUs1XLbSj7ZOmvslhCBpn lvz+mg4miarh0/Gcr53g67gSbqPiDwKvvnoIGHQ/ED9UApez2scgvgiMu PZEIeqxHi3ZZ9797L1A8Eryj1qyakMCRminFrh2Wv1ldTWlqOYtZxxBqW i7aLeQ0XZi8G6ywFxARHMsS0pZaBQ+u4XLqxNddZWa5uC++Dn01+riZEY w==; X-IronPort-AV: E=Sophos;i="5.51,279,1526313600"; d="scan'208";a="82725977" Received: from mail-bn3nam01lp0184.outbound.protection.outlook.com (HELO NAM01-BN3-obe.outbound.protection.outlook.com) ([216.32.180.184]) by ob1.hgst.iphmx.com with ESMTP; 28 Jun 2018 01:45:34 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PDpSgl/XxbyvqSN+Ctxe0+2mTTBc/fbxDzWD3LU7H80=; b=oh4ttcw/WjOgdEKVnSS9tEsIQZvRxIVdzwCt2ntE2grsXJuVmDlHf4PptTeGNoTfGtIyn6ssx7H0UVTW28bDfHLoeKJ25YrQ9+2ofVofxo6r1Tqpzg0N2UA2CEIBKRpJU8atb+Ur2HvQxBJJbWtWx3JF+oKscmlVzwHQ3BOSk5Q= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.884.23; Wed, 27 Jun 2018 17:45:29 +0000 From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Wed, 27 Jun 2018 10:44:35 -0700 Message-Id: <20180627174435.31800-8-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180627174435.31800-1-alistair.francis@wdc.com> References: <20180627174435.31800-1-alistair.francis@wdc.com> MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: SG2PR06CA0125.apcprd06.prod.outlook.com (2603:1096:1:1d::27) To DM5PR04MB0396.namprd04.prod.outlook.com (2603:10b6:3:9d::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0776cef8-f51a-4c49-f96d-08d5dc55c7aa X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DM5PR04MB0396; X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 3:RMrpOsBGBSfuQNguwAD0Mw+SG3Nr6Khak2tAljAHB0cLVlJcsNV3njG0e/mKOfYkn0n6nY7KfTGnao2XG5tZhLlIK+rFu55E5dmt/DqOu1qxBuVFaVBWTgHgCBd4pXbk7rZnqor9mCz48DxDiziuNSQMwWW/ieVZmi+q3CKwz23tXghILUxZ9lt94urKDagH2/ebQaez+XrlBB3QjJ8cYMYDQ0pYVE0qIbpKPxiGonmbjs3cGyjysXPuqjTz3jxi; 25:vmxyg5zkauBcLswN02AjTakjKO/j5NaH223I0UhaaSAtwPfa0+J0LLU3pSgSJvrf+3G9Zi4mpdo2gP6zjpKt3ZtqUYdou7fkC6X1BbBKEHJR6wuFiZDcT1Wn/Kkvhvcz8RYeM7BSm/9p6rCeCv0/Oud8LxXNSEKbBJNtdqOVD90ZujLUVTcRzQ6lj7FtAiFAYDun5WXpulXZbvnvZQxQ375YjL2Hxfom/6JqiNV4/GI0YvEJEZZES7uac2YEnuSjqubikWbxk9T3ptkbpG5ryzqDUX/fxHPuStI87H8IsSI8PeZ/gsiu7XpDrvqF0MmD1e+9nxzURjafl/0dGoUEFw==; 31:hRpcyE1bVoS6uTVQ7yhjVbuev4xC9bHOqYHgVHq9YNtAzrPpiCe2g7Zo5vlNJAL9Gfl/t42QK3xiT2tbei+o02tSH686SUsRQhaqHkWXO+RQNKbA4mdP4nVJAFErTo+9FkHBG4r/nNBtU30aS9TV8VP+DJLoIlUcS0KubJ7LiCzAywtGVtNfmet9XedgCryFn9hm2FHoPiom4dBQkJJKK2J/dkhPER8Lr3b3kuQkCSo= X-MS-TrafficTypeDiagnostic: DM5PR04MB0396: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 20:YSp+FcAo5KVHzCU1N0d3g6QRIuN4Wqazuh+QhIEfV0UJPrDR6zif++aWbXimFLtwqeczWsopcAp4BE5H/9XaYd5cQbz4GzlgIVB6vz0nMqQz74nzirBU3F5T4OT+wtJ4Roa0/dhJu8/gNFz7+pQBUF5T+y57BEIERxBbhX7v3Hiazv4FlSpBwPCm/LjHTS/aUYSEcwKYH4B2zchV0s+fQy5zO1/3xqm/TWPan33ETvZ4BEpVQP45ChfXr4G2Go0vkgagb+2smKqDqZiIHdypbQmQ1gnIpS2h0Oir+TDTfSrABcWTgB2Jf6Yd8/6Ye+LADtYTeE71E2nmBWnNefHZG0h/+KXaj8ILLYdDprnkhUNd5idcRbRpEm0Z+V9/L3p0xiW6+YDdZojmWtw38j2lqMSb2zZY3ADk4e3Mcw650R7NruS0PHe4BA7w2dL5bEW3onaFKAGx3pi6L1yiCsBHq4iOBN62Gx617vnF2fdHnxaMCbabHDKmGJqtDstyGIfI; 4:h2MMTQ9ey7rl0AK1n05Pna324O5WL98hverWPuUgwShMq00YVqMo5N0M6YRxIOYWsMVRZMJukxZqEbN4iVHg7EMtFRvl82H/a29JRbz2mP3wZVqj52lc0BtsMK5oOKg5YTlDPJaG1PHo2PLpNrRxUZ3rGbL0h8hMNizcXLJ/vmO4NFwsCYmyNhAeKwnQqrXmqCPQReqG+hbaedjbZ/0yRFIAOeCDDxt1NtjWRa6FO4n9hqXUG9kKtzLO6NkoUoB3GhGqDLVrX8Im4e3xsuYetKOzMdamXB0utjvDWqDDdu5tSiBy/dSrVYCBXmRRluPU 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)(8121501046)(5005006)(10201501046)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:DM5PR04MB0396; BCL:0; PCL:0; RULEID:; SRVR:DM5PR04MB0396; X-Forefront-PRVS: 0716E70AB6 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(136003)(366004)(346002)(376002)(396003)(199004)(189003)(6116002)(5660300001)(105586002)(44832011)(316002)(86362001)(50466002)(446003)(476003)(11346002)(16586007)(2616005)(486006)(956004)(1076002)(478600001)(6666003)(53936002)(305945005)(7736002)(106356001)(48376002)(2906002)(8676002)(76176011)(36756003)(8936002)(51416003)(52116002)(6506007)(386003)(6512007)(3846002)(72206003)(68736007)(66066001)(97736004)(26005)(81166006)(25786009)(81156014)(186003)(4326008)(50226002)(39060400002)(16526019)(47776003)(6486002); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR04MB0396; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR04MB0396; 23:07Y6kwkAZPTngWbyqEaGoxFpAG2iOIaWx/OccLBIj?= I6X9sd7mroB1jUnvvAjcKzj8BqNu+4T9sXuzKnN8HDqMNCxtqyh6c6BXRJXbRTZyo4oL3Vra4X479PzscD+8oNTT8zL/0q5caNqE5At8pbV6vbNrViRnU09we9lMIxiueU88DGa8X+cASKepTSS8t4yuVyqcC7w1oz6ZKzo1flAGt9GL/ISqbAE+520Gl4MIoSRhiojxDyHzsakCAyJSQnsaMHX1Xg7Orfp8YvErxXvGfRo0qPlfbTtB4nfOIXSC5WBXvEeXTeIXHWcIxzpmOxFttnZVo/07/0XXA0EBU+m6ANQTnXAUY5DxN7QMwUIXJpIOADpkkytcJcuM9BVDrO+qEM4kJ8febON5gvbcJ7/+fiCsuE9xDOwOXvl1ZJ4IxzlHtb4Sd9QbfQiPhQtbWRsiDLmSeOMyGuDe1LZfvq+nZHWVRprl1nSVH9gOpg0gKQRrqHXKZS+26dTSN82CKoqGyXs46M9bj3Fr9TcODKNizoe0SUQe45jiqr+MlQTJuTRXIMAMvrmrWXFsmsLcAUST1TueMEoDqcDxRaJ5mQSfKpEoEYDbq0L9/3LnTQnAmUmEKUFsnvrCbRIgKzRYS0Ik+MmYrUZKpgpFkNcIj/WFjmxEpYNariQw768ZY+jrjLMTRDnoZy5SXkbQDnuRu6z/fJOtQflioAIYaJYl63gQoySEBhiZ5ZE+Ep+ZDnmvMNh7gHQ7Jm9/iM0L3f9okt3q2Xm8LWDMevAqKtnSSHcfdqC9Hv/C4UjzxfwsEybqpi3dT271mKXe8Y6HCKWH6ZpF1xRsaq2pIJaZV/fsWucYGgI1uDY1EH87DB2fRRoDl4AXROfToLGODtv+icOCtE5LfeLrDFdi2fFYHueVfLveE3Sozkm5frDzbsAiGKCcwpQNEc7BlItLG6rq1WW9PH5Yhqam7OQTnPrsaTC/GrTAqsE7Boyq9WZFyylZckDcXa3DCmr+ITICMMHPVB5ZueOWoPAz/uRXfqrtVagpymuBvWvSZm8c6e40bpg5vEZy9j6Avb3TIUOxKgTzOR84UmF0+7nGG9sdaTNzAu6BFe2U5UY/ymBASqAp5RN6e1vOAbZT63PuBvXuC4ASkp66MxcQWlFkz3ObVCUA0hiu+YJDE0MRmLg4g7ING9c4fgCoZBlVrn3XrfCM68ihf5gKIOMNh1Cpr0coXRWrRXhYB8IiQ== X-Microsoft-Antispam-Message-Info: /vwwKuK5kqysRjCWpBdTZWI9CPBoM7+LaKtZwLGT9KMA+5SZpGFmcVH8VfLYaPrjocCtUEkQ98+HIXJl6OwmvX6v5XJrbRRykBkI8z7xtGgPvzM4/lbwwDI4+e5UxnRp7J6zRNq4kwU+FG33f5SxrwS9u8clS4uapxxWXDbegUJltF/WN2Vi8DgGHfs7+T/Maoau+DsYyP6abMwT0J7lyo+YBdp8m60noIvuSX7GoxdGRvjhVN9jiIN+2g6wWOGN8jitAc8PHTGRM22iKieCzbOaZT8eE5JpfqRKAeSVKCwV0eLqKvGmDOR8TggrOYw2a+nkbYavqb3nrMImQdX55R/lg7KxlHfr0edIYATHayw= X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 6:AaBDbleapdxEvxGLtdfhnTLRX8b86d+2Vi7cDIRbcJrqm76WvuKcmeVus0yKRpiNzkOepBN9tc/3C5xGBERvYZui6j/ijBG0B34NM2BPs3LrB9BUx89q0AM8FQ/UWwTBnNsRBHZA+qvR+uq/t8kkiyTKhn8nARtjxQ8WqK+htsjk4Bgb3wlAXiM42hH6TyXKSsZnfjduKxN3N4cpaMk4LlhW51/KWwiYgY6stSRbHu61i9I3qIv/KfsD4dHmdGFi8/Mi314DWjLh1hnfqpWgVgcU7LF+H+BcA6ExzNIzLSFQT6/Ok/kb1Em5io9gvVlpyS7HL+v1gci2+b3Zq7EFY5rMoaX+rhz4Ez4+uwet5Z0hHkqdcT4XmPkMEIffGfnRuOricv60phv646UirPTqPZDxToDDXvkheydEWSUJEZMQZSK6Z3wdbf35Ne4A3HlgqccHrpc6uIdsKxacTBmfYw==; 5:li/kqnKxDQU9vwX+3DYclFUbpa2qCOLytsaiJpuIEdAFtIR6fsc/rlATiYft4w6IuY1qUGGZIuGbHnthhTuSevBVZ7SwfC3fwdFL64ozrTyL+hLM8qbW+bITpdN74ED/0k9CqhltrjUlp/XEfSC268K1EdJoCLJM8M779tmZJZY=; 24:aA2lIpG+t5T8O5hITbDd1pNyOEKiE/0CJxlM4sw4ADvFz/mG4420zrt6STiBq9Cyrytuk9+dLexKim9IoAhO5HOcGcBfG8mCfx7tye8zEEA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR04MB0396; 7:eS4gjEsLmKpLgdzPY9rwRQXxRmYshWn7OupzwnN+S9spRGuTQJXjRetMNPJ2t4eNJhuxlBRxyXPIsIPOMW5vQ4/z09zc0yQNiBvh9c2bSl8H2pgXaKHHAR3KPspv8tu9OXEGeaOq4bcoUvihfNomvNrjGmejBpp6c1ntWYZPTdP6xpCb6ba7zBKfUpXEcDGr18v5VgM2kyBtb2uYYNEJhuzPYae0YwRnmimhJfRG84MJ9PslEapadB5s2+icv1sz; 20:DFuJ4ZIkLo0k2IEJHS3tR4Mjs7dKdX3bjOoMZCsBbJFFhVJg3/0DiHlLVJ1dOsjvGMBVwjpMZc5Gh1BJXhRBggRY80Vhvs4Eg8ZjJw0xgNLMQXx66VzPaRpAxk5nS1lhvW6U2iFAmmoSWwtQYOcxK6Kv3tX9sfo9mT+q9BFEvhY= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2018 17:45:29.1276 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0776cef8-f51a-4c49-f96d-08d5dc55c7aa X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR04MB0396 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.153.144 Subject: [Qemu-devel] [PULL 7/7] hw/riscv/sifive_u: Connect the Cadence GEM Ethernet device X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Connect the Cadence GEM ethernet device. This also requires us to expose the plic interrupt lines. Signed-off-by: Alistair Francis Reviewed-by: Michael Clark --- default-configs/riscv32-softmmu.mak | 3 +- default-configs/riscv64-softmmu.mak | 3 +- hw/riscv/sifive_u.c | 50 +++++++++++++++++++++++++++++ include/hw/riscv/sifive_u.h | 9 ++++-- 4 files changed, 61 insertions(+), 4 deletions(-) diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-softmmu.mak index 20e670d99c..7a003eb5e2 100644 --- a/default-configs/riscv32-softmmu.mak +++ b/default-configs/riscv32-softmmu.mak @@ -2,4 +2,5 @@ CONFIG_SERIAL=y CONFIG_VIRTIO_MMIO=y -include virtio.mak +CONFIG_VIRTIO=y +CONFIG_CADENCE=y diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-softmmu.mak index 20e670d99c..7a003eb5e2 100644 --- a/default-configs/riscv64-softmmu.mak +++ b/default-configs/riscv64-softmmu.mak @@ -2,4 +2,5 @@ CONFIG_SERIAL=y CONFIG_VIRTIO_MMIO=y -include virtio.mak +CONFIG_VIRTIO=y +CONFIG_CADENCE=y diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 46459cd368..1a06384367 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -60,8 +60,11 @@ static const struct MemmapEntry { [SIFIVE_U_UART0] = { 0x10013000, 0x1000 }, [SIFIVE_U_UART1] = { 0x10023000, 0x1000 }, [SIFIVE_U_DRAM] = { 0x80000000, 0x0 }, + [SIFIVE_U_GEM] = { 0x100900FC, 0x2000 }, }; +#define GEM_REVISION 0x10070109 + static uint64_t load_kernel(const char *kernel_filename) { uint64_t kernel_entry, kernel_high; @@ -194,6 +197,27 @@ static void create_fdt(SiFiveUState *s, const struct MemmapEntry *memmap, g_free(cells); g_free(nodename); + nodename = g_strdup_printf("/soc/ethernet@%lx", + (long)memmap[SIFIVE_U_GEM].base); + qemu_fdt_add_subnode(fdt, nodename); + qemu_fdt_setprop_string(fdt, nodename, "compatible", "cdns,macb"); + qemu_fdt_setprop_cells(fdt, nodename, "reg", + 0x0, memmap[SIFIVE_U_GEM].base, + 0x0, memmap[SIFIVE_U_GEM].size); + qemu_fdt_setprop_string(fdt, nodename, "reg-names", "control"); + qemu_fdt_setprop_string(fdt, nodename, "phy-mode", "gmii"); + qemu_fdt_setprop_cells(fdt, nodename, "interrupt-parent", plic_phandle); + qemu_fdt_setprop_cells(fdt, nodename, "interrupts", SIFIVE_U_GEM_IRQ); + qemu_fdt_setprop_cells(fdt, nodename, "#address-cells", 1); + qemu_fdt_setprop_cells(fdt, nodename, "#size-cells", 0); + g_free(nodename); + + nodename = g_strdup_printf("/soc/ethernet@%lx/ethernet-phy@0", + (long)memmap[SIFIVE_U_GEM].base); + qemu_fdt_add_subnode(fdt, nodename); + qemu_fdt_setprop_cells(fdt, nodename, "reg", 0x0); + g_free(nodename); + nodename = g_strdup_printf("/soc/uart@%lx", (long)memmap[SIFIVE_U_UART0].base); qemu_fdt_add_subnode(fdt, nodename); @@ -296,6 +320,9 @@ static void riscv_sifive_u_soc_init(Object *obj) memmap[SIFIVE_U_MROM].size, &error_fatal); memory_region_add_subregion(system_memory, memmap[SIFIVE_U_MROM].base, mask_rom); + + object_initialize(&s->gem, sizeof(s->gem), TYPE_CADENCE_GEM); + qdev_set_parent_bus(DEVICE(&s->gem), sysbus_get_default()); } static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) @@ -303,6 +330,10 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) SiFiveUSoCState *s = RISCV_U_SOC(dev); const struct MemmapEntry *memmap = sifive_u_memmap; MemoryRegion *system_memory = get_system_memory(); + qemu_irq plic_gpios[SIFIVE_U_PLIC_NUM_SOURCES]; + int i; + Error *err = NULL; + NICInfo *nd = &nd_table[0]; object_property_set_bool(OBJECT(&s->cpus), true, "realized", &error_abort); @@ -327,6 +358,25 @@ static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp) sifive_clint_create(memmap[SIFIVE_U_CLINT].base, memmap[SIFIVE_U_CLINT].size, smp_cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE); + + for (i = 0; i < SIFIVE_U_PLIC_NUM_SOURCES; i++) { + plic_gpios[i] = qdev_get_gpio_in(DEVICE(s->plic), i); + } + + if (nd->used) { + qemu_check_nic_model(nd, TYPE_CADENCE_GEM); + qdev_set_nic_properties(DEVICE(&s->gem), nd); + } + object_property_set_int(OBJECT(&s->gem), GEM_REVISION, "revision", + &error_abort); + object_property_set_bool(OBJECT(&s->gem), true, "realized", &err); + if (err) { + error_propagate(errp, err); + return; + } + sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem), 0, memmap[SIFIVE_U_GEM].base); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->gem), 0, + plic_gpios[SIFIVE_U_GEM_IRQ]); } static void riscv_sifive_u_machine_init(MachineClass *mc) diff --git a/include/hw/riscv/sifive_u.h b/include/hw/riscv/sifive_u.h index 49f1946539..e8b4d9ffa3 100644 --- a/include/hw/riscv/sifive_u.h +++ b/include/hw/riscv/sifive_u.h @@ -19,6 +19,8 @@ #ifndef HW_SIFIVE_U_H #define HW_SIFIVE_U_H +#include "hw/net/cadence_gem.h" + #define TYPE_RISCV_U_SOC "riscv.sifive.u.soc" #define RISCV_U_SOC(obj) \ OBJECT_CHECK(SiFiveUSoCState, (obj), TYPE_RISCV_U_SOC) @@ -30,6 +32,7 @@ typedef struct SiFiveUSoCState { /*< public >*/ RISCVHartArrayState cpus; DeviceState *plic; + CadenceGEMState gem; } SiFiveUSoCState; typedef struct SiFiveUState { @@ -49,12 +52,14 @@ enum { SIFIVE_U_PLIC, SIFIVE_U_UART0, SIFIVE_U_UART1, - SIFIVE_U_DRAM + SIFIVE_U_DRAM, + SIFIVE_U_GEM }; enum { SIFIVE_U_UART0_IRQ = 3, - SIFIVE_U_UART1_IRQ = 4 + SIFIVE_U_UART1_IRQ = 4, + SIFIVE_U_GEM_IRQ = 0x35 }; enum {