From nobody Tue Feb 10 12:59:52 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530293386533742.3174441778386; Fri, 29 Jun 2018 10:29:46 -0700 (PDT) Received: from localhost ([::1]:43699 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYxDN-00015Y-E5 for importer@patchew.org; Fri, 29 Jun 2018 13:29:45 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYx6V-00046J-Bk for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYx6R-0003Qo-3s for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:39 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:54503) by eggs.gnu.org with esmtps (TLS1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYx6Q-0003Hx-Mj for qemu-devel@nongnu.org; Fri, 29 Jun 2018 13:22:35 -0400 Received: from mail-co1nam04lp0051.outbound.protection.outlook.com (HELO NAM04-CO1-obe.outbound.protection.outlook.com) ([216.32.181.51]) by ob1.hgst.iphmx.com with ESMTP; 30 Jun 2018 01:22:33 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.20; Fri, 29 Jun 2018 17:22:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1530292954; x=1561828954; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=8gEMhHVLsIjyP0oUHEoQEjmB+hcyyBtXjII8vdb1Ltg=; b=JEaw+UiruzCpDhkaaYuUmxTizfHXayvzdnerwJei6A7IdTC6qlVkPkG9 jGUw5yW2oM7w6jNENa7WbWBjl5T4Ov+SSlWnbjGGzFrZxiRLbHpKb577S XLTUZeLByRUYd9IhLINYfXSlifKCbFhRYtuESCXsFjQ31yMX39Q+d7ssr nGtg9AsbuoI10Y/ZW2bG5yNT4UIw7AY6C2OJEGxUMnGd107o69ujAhONi A34flP3SZRWsC9vE+3WgCdlzbw8PWTf3pmP/yM2XMM9NQa6SkBkwx4Fq0 Mn1nuNmR2aqPkmAYXIOuNeDOrat5TCdD2OIo1xFU6oi8U7Q43lIUAXLE7 w==; X-IronPort-AV: E=Sophos;i="5.51,286,1526313600"; d="scan'208";a="82461910" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qpe8ck9xUXL2arfH/FEMhjmzmIXfBZAt74s7lxGSEAY=; b=JwQY5Of9Rlg6I7IsR8eqBgcPUEF0QvaNouyqNoJzxJrMrw66HGkYjd6sh6bOrpVjY7JB/bjvlkGsa80Y8Emtf6fzBnjqkA5s1ggFS8d8vIKN38Fz/Npf0ULFivE9xrx9KEfuj2T6yvQsp4y2OEiPtltHWk/ZFoRp7eRRITPkgF0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org, peter.maydell@linaro.org, mjc@sifive.com Date: Fri, 29 Jun 2018 10:22:11 -0700 Message-Id: <20180629172215.29475-4-alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180629172215.29475-1-alistair.francis@wdc.com> References: <20180629172215.29475-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: BYAPR03CA0029.namprd03.prod.outlook.com (2603:10b6:a02:a8::42) To CY4PR04MB0391.namprd04.prod.outlook.com (2603:10b6:903:b1::16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: deeb90df-40d7-4484-7bd1-08d5dde4e62f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020); SRVR:CY4PR04MB0391; X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 3:54BGy3vSesc4LxbbSWqTlSyji0WwfZXJ6tdqZQYhegGdS82itWh229XTdxQk46kGeJkkJwg/erW40a8YpjM1e6ibpbXW0GOcHGwGEBbqK97ud3AKElFdbb72JC470tDRvqaMA2CSXB7/048FeuJIZ/jR0D5i7xFkPRc8N5IHYFWLgKS0wmKDU4vRxB8nUN0zb4SreARyI75kbH9mRs3uE/PmcmDOimvx2cuYmWIjK2tYv4SkUo6vXYTJaq336N++; 25:uF/3AbvVXy+5Vk5eOj/gxgEQrOGbijRI53Z9L3pa68PkQ4Ak1om8HomkBs53tB0NjrqAe77tO+GvZXlfo3RuwzleotijFw+/9vMHZpgqL6FkVKfj+2Hbm45B6kLaXLKIEDSyfuGmvk/rq88j9EpjTiWyMLeF+QJRWsYcXKe6qjIbVAKr/lkTNznOnhuLPVEw03WzU/dF4zBOl+R20cjHZbfUnJklv2yzOR4zmN1Y8mfXsgxe6v1BbRTQwJGLqTdPqbwWB4c0hXCk7jSVLM6s/HEB4TWqAoeBa/umxYnXgURpJFuvdgTckArQv8gzrTgYp+QCxFKro0sPcgAUN2PxXA==; 31:53l8pTacFY/ODkdj9ACZ0kWm0ILD+I6fVKTbGdgWDz+Z7aMBkqrmNnWeQI57qWDzIGUmkjMk8Q+HqwMY7Aca2lkGX8caW2Z+8AnTdTx7OD/iKvRxeu+4drc+nNmQyYUiK9cFKTQ4Uflg+mATsuYcZXw/f0ThzzRIZVOq802gfna5ODA1R/0vz1SRg4ypEN6amKhu+bMY/DM+2hJhZkaCSd3FIBpadzBkOhXrWB3jM0k= X-MS-TrafficTypeDiagnostic: CY4PR04MB0391: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 20:jMCO+lxXljOyu3H3YnkcFZuVGmAqEFC8rVBGDCQzbni6Hke6zMS3AVsJreBE8C0zme5pSWNOxgYGYUG1bTZzukA1H+6VWtIRtDes8Mb6OagsavdXggIm78iYvRuun06ruaRP41eRjMkk8GfbKTDNIq8bvpa/z3NUUxAQ2RptvEOwdQpKg4X6nRhuSe+aKjJFJCVab3m3rTYhhACmpjR8tLqPKsXuq09+pK5+5xBS+jRelmDg7+ZBSPmuo9j8YtwFkDUlus8PV3g5LTAu9wZNMMZZcqoln8v+xwdjwn8zkm0N5bN45x4owYR0YhegKQ42qFt7Qg4sevFtvBTe71X66ckycJs5Y2plERA9PqsIgGFS/NnywvzlqWgTSbck9U6N4olfHtbzueYAgLlMKOVBftSdBNgKDEcmH3apz5hF8fXDt1PVUM81nT+74kiIMVGaqxqRtdcI9W5ezKeVxx+6l3e248FqyjWqXCJuPV1iSa6p+qfr5o9h9RQqfI6hA59D; 4:LFPgU0GwybNnpktQ5bDlgTl12E465zMK5U1Cp/19pfEgm+wVbC3xp8h4e+YU68JpbtVc5o4kaLQIDg1jAg2RMnL4kUFXSyqmejUPLDpKwtKchV0/IYT5Slf6Mydwizdx84g/j90xtcfHVFNi4OtToBWj3FGePZCLyAWccr0Uat7Aa2SRjaAjCIOp9LwpswuYMdM/yrgBST20PymSkLNzV+ef5gqu6EBu6WcdHVbatPPmpR27fqd0dzk6aq/QncNNDPPI2hl6JzvCvTCTyO4dDg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016); SRVR:CY4PR04MB0391; BCL:0; PCL:0; RULEID:; SRVR:CY4PR04MB0391; X-Forefront-PRVS: 0718908305 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(366004)(346002)(396003)(376002)(199004)(189003)(2870700001)(446003)(16526019)(186003)(956004)(11346002)(26005)(2616005)(36756003)(39060400002)(72206003)(50226002)(316002)(4326008)(25786009)(44832011)(486006)(476003)(8936002)(3846002)(6116002)(50466002)(68736007)(2906002)(105586002)(106356001)(478600001)(66066001)(53936002)(52116002)(23676004)(76176011)(305945005)(97736004)(6486002)(386003)(47776003)(6506007)(1076002)(5660300001)(6512007)(6666003)(81156014)(575784001)(8676002)(81166006)(86362001)(7736002)(14444005); DIR:OUT; SFP:1102; SCL:1; SRVR:CY4PR04MB0391; H:risc6-mainframe.int.fusionio.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjA0TUIwMzkxOzIzOnlWV1F6N0t4SlN2dklXZ1l1bmhLU0d5OWFr?= =?utf-8?B?R1dGWHpVSGRXZHliVnpPMkpjOTgwN200c3BxM1NrKzIzYjh2eUJTaTJ4Rm5G?= =?utf-8?B?dmxuZDM0eUhySlIrZ25YVEpJSFdFQ1BVbGYxR3YxeHVSTWZOa2FZRlRxOEZv?= =?utf-8?B?azlqdkR1bEhHcnA3UCs0cTVtVWkzOCtqN0lxN2R5enVwbkhVbCtCN09PbUdH?= =?utf-8?B?UEtyaHFHNWpjSXM1RmFlb1Fnc0tWd1dIMC9pYmlkV3NrRzVSWEo5RXhlbk9C?= =?utf-8?B?WFMwZVYraEs3NUVNSStna0tjZm1GQ0c2NVpJR25hM1hpckdJVkowZDJ3bnl6?= =?utf-8?B?RkZMS3hkdEh4V01wN05xdTJSNGp0R2t6VjNEWEliV1ZXRVBFQ3g0L0huNTlj?= =?utf-8?B?b3gzdkt4cCt1T3B6NjM3N1NmWUxpL29LWisrd2twdnYrQlJCVVZweEVhNGhM?= =?utf-8?B?TS9qYlczTFdEc2N3c0VkNXo4dERqOHpQZlY1MEwwL3NkNmRxTGU0QkJvOERn?= =?utf-8?B?ekpqYWJDWC9PcGlESWlyOXp6Y3c2cEhGMG1MUzVBbm1pMUo4T2s5OXRXTkFq?= =?utf-8?B?QXJpOUZ2VEZWdEc3dnZOdDh0aEM2cU5pWVlMS29ybWdWODhEbHI0VlIzaWVS?= =?utf-8?B?MjlIRytxRWZSdzNwdnAzQ1RZM0liZFF6SThCR1VNUyt3WEtabHEwVEI4WGww?= =?utf-8?B?VXFRaVc3VnBwUzlWSXp3clI2TXViVVMrNU8vdEJVZUhCdEpoRUMxZDhLZkND?= =?utf-8?B?aXJ0YXBDQlF6SExmMlcxMlJRZElLT01WSmo1ZHRTZUZBV2NLUDRHYVBqa2tK?= =?utf-8?B?ZDBxUXlObEhicDgvQUF0azhXZ0tyNnREK0JUYkRyWWlOdWpyWlNyNmVvU1FH?= =?utf-8?B?bHB0MWloaHpMaGR6cC9wSEEzeWZqMnJWVnk4clZGc3RSYS91dVg1WjBXQ2Ra?= =?utf-8?B?di84eHFzelZvVzdRQjN5QjlLMURJYlBYZnpCdHdoZWwxY3BmNFEvRUlZanpG?= =?utf-8?B?R084bVY2K3paQTlKdisvbDFYT2ZPb1FlajZHTGVlaUV2UWpsVytoRjMzSitu?= =?utf-8?B?N0toRTArU0R4WGYvRWpybHo4Mmg4eSt6U1Q3SGhDNTNYejBoNHNwZzBBYTln?= =?utf-8?B?VXlaUTlsTUhNZnV0RVQ2eCtJU1BYVDR4VVQrcTNyenJuVmlnVkk1Nk83bkJy?= =?utf-8?B?UnBGTXAvem1vYWFyT0Q4NjlZbHNCcEZlRm5OVHptZkpBbHZ2Z0QrQU5aYWc5?= =?utf-8?B?NWU0MVB3aVJEclJBRGN2eU1YOC8xWERBZDl2N2QyRTJQQmxITnR4TFBEOTVR?= =?utf-8?B?Um1OWGZWNjVVNkY2bW9jdTNGNFFtOGt4WkhEdXBWZHdWOE5vNkRCOEZmSXQv?= =?utf-8?B?cC9KTmNqeVpxcm94QmpsUWNhT0R0TUJGSFQxUmt4cktXQjFXVHhzdDM2OFpl?= =?utf-8?B?dHFFZW96S0wxZmZFaW8xa24zU0pxQ0lxank1eWpiMVUxRk1rRWFFVWNHaVZY?= =?utf-8?B?bzFmMEJucWhiWkNtc0ZrK01telU5VU1UekJ2RXZObWhoaGZuZi9FTlJ3UUlH?= =?utf-8?B?WW80aTBGbFluTi9kWFdTZ1Z0RlRsRks1elpBWXRBZXE5cjRNUEZqayttTUQ4?= =?utf-8?B?bElSQ0dBU0crK1FhcjFTc1A3VUp5WjNZNytvdVBYa2NuUTIzY05RZzJnVFVL?= =?utf-8?Q?8QVoHkl6lRY09Xa7dviuPmLPWGC+utlR59r+hVq?= X-Microsoft-Antispam-Message-Info: IUZNFs9G/sz/vMses13/Bp+bJiBBuGDGh5xGYP3AUFD7KDUkJy7J4Hz81H9SLOmBpPuaRt659Vg8Uv2q+ZCC+ZJXUiJXTiYULqHhk1EiCm0zAzaLVHjSszFvQTy9tkEyqSA4ClABBGhqdzBQ1Dz66wNoqHJ6EfaoxKoPr0mmeYIXuXnFO49wzGX8ClINpPb1UvsVa+Meg1jIEtPP8cUsFbl6KaOzdTthIukXJKYXaUgJQAvmecPcobGnqCyx0HbT622gA43dI8OrFQ4naZSqW0X2zMFrWjgMVZvuO79+hDVc5gx3K2ffe0KloHPQ2JfvQeb10EP9O39DzDVemjoCDEz9fRg5bKJm0RyBGU4rbTc= X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 6:m+kzgGzQYMupllrXYGZwprFxw/1eSaJP0GkzY3jxgZMov3n2MER3xt6Gxdn09fb2hFdL3EmYxDM/URdlG+meBOh+KdGihpWY+W6oe3VeRGSb9goI1SBDoz8J/BBHWo7aYnvbOSNYWl67c3ds1gtxoTvD+h6A6pwaoEvwKGMjUw7jFphFp9UkVDDH2BheIZHPjENC5WLV5kRU8KScH3W2V1ORl0xJsbMhdbpEbqf6VKPUvWuWp6VzNq6yyi/Der2zHhflTjT1ew9cNDlNGQ1Zmq1royKEwiKR+/NiuCe+GaYiXas3q4c3bSaAjNjn7b+fucz1hr9WLcGrJ98wmQPj6jmzWqcsFsYF4eU5EVlmGde3flPuiOaNoCHi3Q1D/vsaiaBpY1Hi8dO4GD2cQN3w6opYwqI2LnG8o4IVjpLYjPHmM8NbV8s2SD5ZJAjmxO9WthChmBkQxEe87Cd07SeQ1w==; 5:wQL2x4KdJwKNbispT1q8IVmypAK9YFfp42oJaEWvREPfs8NCu2ZU0vkPfFMizUd1WOxsa9wx3U6t+toad40NJ4bvT9T+54Bza+idDVdcvIbC3rqghUSWXCa1/qo6jjlD2VKkTzvUIHXhQ1ev/Gyqu10GkZGkqeuzgpHtW9X4Vzs=; 24:zerzuFVqMyRa2HKs73J2hzGfqUE3O3pXWKT6sN4NeJRX/FiXRyNIoXrPNsa6RvXoju4qhMGc71ssgPZAMMtp2y6x9KPQOCzTecM1/LNbP84= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR04MB0391; 7:jXOu3ELXy1SzaLsmpmhD6Ssf+9esq0Gb25LCmnYt1JV3c5saBHQ+zKiJX4AbDhkL1shz+TN0d6Fc6aXDen2IsBbjsa7EzFXl1lV9tGVRmnjBkpXlIbh6i9Nukr6JiU1Xs8WNwBq9+1jJQvN57ajv+RQ/8912ABdEc2bGIgjyKCUUETqgSq6zoA5pASeT0MwaW5jDTVEcT32iRrHQeEDonL0yiwGqkNQKBtcj1bI47nFTqrbgSoJC66G/i7kX/O6q; 20:3Sy3dvIsWybad3o7utPCIwFIIx4Gx/Q/+hUIKvtm6DZmN1Kg3SJWGDNX3lE3rkSa6E51gleHM9cF8Qv1ab741qoT6bpkH5I/uHcFJ8x9KiZcDogiCmHJ7kfatCxv8vjgsN1U9hWgNxUleJme4NiJawPxQEOEAdUiMrjD0rHoW5U= X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2018 17:22:28.2500 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: deeb90df-40d7-4484-7bd1-08d5dde4e62f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR04MB0391 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PULL v2 3/7] hw/riscv/sifive_plic: Use gpios instead of irqs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, Alistair Francis , f4bug@amsat.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Instead of creating the interrupt in lines with qemu_allocate_irq() use qdev_init_gpio_in() as this gives us the ability to use the qdev*gpio*() helpers later on. Signed-off-by: Alistair Francis Suggested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael Clark --- hw/riscv/sifive_e.c | 5 +++-- hw/riscv/sifive_plic.c | 6 +----- hw/riscv/sifive_u.c | 5 +++-- hw/riscv/virt.c | 4 ++-- include/hw/riscv/sifive_plic.h | 1 - 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 384b456540..006703163b 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -190,13 +190,14 @@ static void riscv_sifive_e_soc_realize(DeviceState *d= ev, Error **errp) sifive_mmio_emulate(sys_mem, "riscv.sifive.e.gpio0", memmap[SIFIVE_E_GPIO0].base, memmap[SIFIVE_E_GPIO0].size); sifive_uart_create(sys_mem, memmap[SIFIVE_E_UART0].base, - serial_hd(0), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_E_UART0_IRQ]); + serial_hd(0), qdev_get_gpio_in(DEVICE(s->plic), SIFIVE_E_UART0_IRQ= )); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.qspi0", memmap[SIFIVE_E_QSPI0].base, memmap[SIFIVE_E_QSPI0].size); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.pwm0", memmap[SIFIVE_E_PWM0].base, memmap[SIFIVE_E_PWM0].size); /* sifive_uart_create(sys_mem, memmap[SIFIVE_E_UART1].base, - serial_hd(1), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_E_UART1_IRQ]); */ + serial_hd(1), qdev_get_gpio_in(DEVICE(s->plic), + SIFIVE_E_UART1_IRQ)); */ sifive_mmio_emulate(sys_mem, "riscv.sifive.e.qspi1", memmap[SIFIVE_E_QSPI1].base, memmap[SIFIVE_E_QSPI1].size); sifive_mmio_emulate(sys_mem, "riscv.sifive.e.pwm1", diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index 874de2ebaf..a91aeb97ab 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -435,7 +435,6 @@ static void sifive_plic_irq_request(void *opaque, int i= rq, int level) static void sifive_plic_realize(DeviceState *dev, Error **errp) { SiFivePLICState *plic =3D SIFIVE_PLIC(dev); - int i; =20 memory_region_init_io(&plic->mmio, OBJECT(dev), &sifive_plic_ops, plic, TYPE_SIFIVE_PLIC, plic->aperture_size); @@ -448,10 +447,7 @@ static void sifive_plic_realize(DeviceState *dev, Erro= r **errp) plic->claimed =3D g_new0(uint32_t, plic->bitfield_words); plic->enable =3D g_new0(uint32_t, plic->bitfield_words * plic->num_add= rs); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &plic->mmio); - plic->irqs =3D g_new0(qemu_irq, plic->num_sources + 1); - for (i =3D 0; i <=3D plic->num_sources; i++) { - plic->irqs[i] =3D qemu_allocate_irq(sifive_plic_irq_request, plic,= i); - } + qdev_init_gpio_in(dev, sifive_plic_irq_request, plic->num_sources); } =20 static void sifive_plic_class_init(ObjectClass *klass, void *data) diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 45b6aeb36b..3883d7ff9c 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -320,9 +320,10 @@ static void riscv_sifive_u_soc_realize(DeviceState *de= v, Error **errp) SIFIVE_U_PLIC_CONTEXT_STRIDE, memmap[SIFIVE_U_PLIC].size); sifive_uart_create(system_memory, memmap[SIFIVE_U_UART0].base, - serial_hd(0), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_U_UART0_IRQ]); + serial_hd(0), qdev_get_gpio_in(DEVICE(s->plic), SIFIVE_U_UART0_IRQ= )); /* sifive_uart_create(system_memory, memmap[SIFIVE_U_UART1].base, - serial_hd(1), SIFIVE_PLIC(s->plic)->irqs[SIFIVE_U_UART1_IRQ]); */ + serial_hd(1), qdev_get_gpio_in(DEVICE(s->plic), + SIFIVE_U_UART1_IRQ)); */ sifive_clint_create(memmap[SIFIVE_U_CLINT].base, memmap[SIFIVE_U_CLINT].size, smp_cpus, SIFIVE_SIP_BASE, SIFIVE_TIMECMP_BASE, SIFIVE_TIME_BASE); diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index ad03113e0f..bdd75722eb 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -379,11 +379,11 @@ static void riscv_virt_board_init(MachineState *machi= ne) for (i =3D 0; i < VIRTIO_COUNT; i++) { sysbus_create_simple("virtio-mmio", memmap[VIRT_VIRTIO].base + i * memmap[VIRT_VIRTIO].size, - SIFIVE_PLIC(s->plic)->irqs[VIRTIO_IRQ + i]); + qdev_get_gpio_in(DEVICE(s->plic), VIRTIO_IRQ + i)); } =20 serial_mm_init(system_memory, memmap[VIRT_UART0].base, - 0, SIFIVE_PLIC(s->plic)->irqs[UART0_IRQ], 399193, + 0, qdev_get_gpio_in(DEVICE(s->plic), UART0_IRQ), 399193, serial_hd(0), DEVICE_LITTLE_ENDIAN); } =20 diff --git a/include/hw/riscv/sifive_plic.h b/include/hw/riscv/sifive_plic.h index 11a5a98df1..2f2af7e686 100644 --- a/include/hw/riscv/sifive_plic.h +++ b/include/hw/riscv/sifive_plic.h @@ -56,7 +56,6 @@ typedef struct SiFivePLICState { uint32_t *claimed; uint32_t *enable; QemuMutex lock; - qemu_irq *irqs; =20 /* config */ char *hart_config; --=20 2.17.1