From nobody Wed Nov 5 16:40:59 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail header.i=@wdc.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=wdc.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1535565787391103.46959680945463; Wed, 29 Aug 2018 11:03:07 -0700 (PDT) Received: from localhost ([::1]:44363 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fv4o3-0000cE-9G for importer@patchew.org; Wed, 29 Aug 2018 14:03:03 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fv4ir-0003mb-Cq for qemu-devel@nongnu.org; Wed, 29 Aug 2018 13:57:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fv4im-0004h2-Dh for qemu-devel@nongnu.org; Wed, 29 Aug 2018 13:57:41 -0400 Received: from esa4.hgst.iphmx.com ([216.71.154.42]:12756) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fv4im-0004ge-5n for qemu-devel@nongnu.org; Wed, 29 Aug 2018 13:57:36 -0400 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; 30 Aug 2018 01:57:35 +0800 Received: from risc6-mainframe.int.fusionio.com (199.255.44.171) by MWHPR04MB0401.namprd04.prod.outlook.com (2603:10b6:300:70::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1080.14; Wed, 29 Aug 2018 17:57:33 +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=1535565457; x=1567101457; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=2fjKQBdMHKUsy48qzx3exFCKJwxSOBFz1FXFe3Cgpzs=; b=jLYxiNYTW7TzCN7WpNrB0pY94wAqMYVNSsvm2gsYYVlfPgwdFelidXCC OCfb5vLX/GicavLfVElvFZkQGNaEieuyJuBKu/5Ah3ha4o1E2OE2eL3bM D4Az8kXPNNxvbMx3ft1wS94BCtwWtKf2iXXETwc4a5E1mQRuB4Osf8D9+ /3/19UKfk7y1cMTLzqsLyAbjdGOpDaPDKKxaYFPwyIN+9qNl5imnPm1+e Rd6Jb8YXW/Jh2948wpYj2cXQsNZKJiyKIf8sOZAQtLAIjmoN7DLelfWSG +wX5V6AvF+wXP4yUF82dzvAoB03EVTAooJfs0zVD9V5gJjStuWads+r4a Q==; X-IronPort-AV: E=Sophos;i="5.53,304,1531756800"; d="scan'208";a="88653395" 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=XfWeiPF2deYL/D+Le99lxvxfD4hzo5xJ8cIMde4ubPY=; b=l2ukO5SrmvAEyAqlz8KAKOeBGKybtlADPUGg5SW3d2TwOJUMB3ecdIkW0dPUx8rF/YqAQ3aG/vi3DVGdhxY3i+MHYg7DTIYiJMByDrRx0nM2HVtP723UFePb8u4wNtUTGElWRgIbfntdwT00crr1IZ+5U8S2y+DdH+68utM0W/4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Alistair.Francis@wdc.com; From: Alistair Francis To: qemu-devel@nongnu.org, mjc@sifive.com Date: Wed, 29 Aug 2018 10:57:25 -0700 Message-Id: <8f2b50188d14e9cc43f5c9a7b34061ffc76c411f.1535565338.git.alistair.francis@wdc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: MIME-Version: 1.0 X-Originating-IP: [199.255.44.171] X-ClientProxiedBy: CO2PR06CA0069.namprd06.prod.outlook.com (2603:10b6:104:3::27) To MWHPR04MB0401.namprd04.prod.outlook.com (2603:10b6:300:70::18) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 723fdd20-b74a-4a05-9db3-08d60dd8e55f X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:MWHPR04MB0401; X-Microsoft-Exchange-Diagnostics: 1; MWHPR04MB0401; 3:y8CQ3iUaGJn+Nakd5xDqcbi+ydtZk0E2ASEU//iDr5BsCjGMTbQMGCkL3w468UmCJHHnetOGNW1+5+tZE2x4JeRRuI6yKoBkO6eamorTZ7wODHSG0saoxIJKsTmTYCklOg5DxJim4QAS5eAeiUhmL39zlg1h3UODF9njo8nYwKqqssBRm2m+8M91LA2i5tQp8EgBLccmcTcq1t4EyBktAkv1MhvFOwHu2dXGPWI5DTlbFydBI69Euu2HNXCW4PK5; 25:8Nc5FEKEMtFLh3LdsHqkpcWutsA/LevPTQNVkj7rJ+cPKpdIZvotl+H9uoG2Nk5EHm4kJ46J2TxXmeXzubKRAiKylMekI5jXFkVJHZXcCPRLGECbkgd9HwmUalBsCktgOMyzvjZ5vxknVY+2neLd+JTi7YyKqgGN3HFpMpcxwdvRirNcT77z4N34r4tIcYxNJzSQQkPFJPcad8DSxg18w70ezjmpYRUi4wzwKigmwRDBtm5cG0HR2ln/HF9fScnjP87I68FrgJjH2rBkJKQgo2mAl/G6ERyjGnnwXikdoEjOpuw/d0SHkIc1mcMRvvY4CJUOZwqH2g3dkQENVeNZSw==; 31:oeo5iJVwRYG7NDu3LnQOiYTygWWrPq6JcHhf7KKdd5To9huYSzgCde2iQUU7CxDWBmdSgpEmsdOXIdmMuQpWl0QN8HFstl4XmP7uHcrjJBYmxcRZtHedh7a3yU1ESOIEs6aH5XU5VJf8kha8eyu+/HRT0EbPlZ7w3Q2sMWGzk5ZZ/T5elcYlFV76fqHC++0iG9lr9DbFl5Z0GsHuQ7rx01Um7Yy96yiXz4V8kbS/8Lk= X-MS-TrafficTypeDiagnostic: MWHPR04MB0401: WDCIPOUTBOUND: EOP-TRUE X-Microsoft-Exchange-Diagnostics: 1; MWHPR04MB0401; 20:rdUQeBH5WAYTzuhrMkexpF2kaL3cluUSVnbMg1Tx0qoaELkCzylGyYEjTTM676XkAJZp2i2AhH1okhArichOb7zYg/v2dzGG1Jcauzqvq3ln+YcJd0z3xGa98Auwa0OEWU0XKfkB4678hdXNyvhmmipZ2X/YlsimqKX79zORYvCdP1Pzn//tpWTleWUrhDp243dEQsajnsJoF+n0nyTKSkKQNTn0zOze4QEfrsf0nLrOwm9i2UZ7rEJVp5vdlvxyFGiK6VQqutdcpZtLUfC75Ezb6FGohaGSEtsi1xS5sdYD4+Py/+96Cmix096UtvdqUO4vXuBL0EV+myYmkVYbHJL2EsJR5WNmxnjAXc58+0XhQhEXyKM9ZtDq+RVo2SsiaIr9QpkJ4hz50iV5oB3K7MHJ4BuCIhZ3ylAcml2P3BOVkeGCy4DMi6SMVqMwDajXGXiZflrjdbbrP+nyD2PevKFYgWwwOVGMQTiGNjWBGlYOa8OC6fh7/gmaGLhEgpLG; 4:xcuOwja/PNfI5VNgq8Vi1QVuVbBMaEDiUOHhjI2Qa2PKoo2n6S0cyeAElmfiIApI0YLyhaBNFYehC085M53T2UVaFfbSiyx6y8JgQct1+pMma8HIbBu9KLkK8DPXw1UxpXhSkoUr0Dl/Rxy1qY2sjkb9miyvEPjrH/TaUemkZzTn4N7sg+jNJ59GBORDDgtr3uK1VNOlp0hkIjp+9iiEKS3FtFhm6zwQReoXJiVg9MZ+JonVzcNcNE51/dy9z/Qzpw5KQnt1Wd+/Ll1yZ4ZcR2KVc9tOP1VkOYkvYco/gkUc1KNGqvR5NfQL/w17fIHU 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:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699016); SRVR:MWHPR04MB0401; BCL:0; PCL:0; RULEID:; SRVR:MWHPR04MB0401; X-Forefront-PRVS: 077929D941 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(366004)(346002)(376002)(396003)(199004)(189003)(50226002)(486006)(446003)(11346002)(5660300001)(476003)(6506007)(44832011)(2616005)(118296001)(386003)(305945005)(956004)(26005)(105586002)(16526019)(186003)(6666003)(39060400002)(106356001)(97736004)(2906002)(8936002)(6486002)(76176011)(47776003)(316002)(8676002)(478600001)(68736007)(50466002)(25786009)(81166006)(86362001)(16586007)(48376002)(6116002)(6512007)(72206003)(7736002)(53936002)(51416003)(4326008)(52116002)(66066001)(3846002)(81156014)(36756003); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR04MB0401; 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; MWHPR04MB0401; 23:cLY5N20WD5vmf/43NUocdwjpHqjshMu8PbsEh/wbD?= =?us-ascii?Q?/zJ6zSZ1dlNWBqFIxThFeVvI/pUgyjU2efgjVmIEIFu59s+UlTVDuojo6y+O?= =?us-ascii?Q?tg3SaSkScUIj34IFzu0nJsosgqM1smP4we/rjYQ8FKzwDpH0y5f6swy+aNZd?= =?us-ascii?Q?LKHQu3ecsrvrS6C3fkDGc2l9N6VWAmWyXv/Ajig/eeeLcfiAXd/qkdG2vYKe?= =?us-ascii?Q?VKGallm61xG+jilkuSI2pUbGub82ByorD3UNaXw4OtM8NYee78y7IFp3zHSg?= =?us-ascii?Q?wutUa5f5p8tpWnDsg2/LxK/YeolQZPAMtUftJ6C+6anM7l35DaELGazx3D28?= =?us-ascii?Q?SBG4f/p5gXD7LNwWohlT30AEygGmPQWSIIogKOEukHEYBMunBrvdHb7nWpkh?= =?us-ascii?Q?uB1QP7TMDA1UTyXACqp4OFz0+YSmZNd5mLBn2jgAwQ8szCJ+AHF0eng/TwGa?= =?us-ascii?Q?pYXbiPsFeh1lhiqKDILPxrJ1rRei81RRBeriJZhIld8dS9JA6AO1b9+tx1cY?= =?us-ascii?Q?Enxc2J1S8qUnuxUg7cSxYI6XsnMDTnnWEI7NQGBqwE352fSFZMOC8GrvbP5i?= =?us-ascii?Q?SelhDS3DLV73/7Dq90d4egT9HR7PX+aeWqmjWg+EjPTFjqKxTzB6coa9tgrT?= =?us-ascii?Q?CWKUGzHtlqSnKKqNHS0Fb+aiINiSoI22FPmkvY62N2xDkaw01zES93TfUCKN?= =?us-ascii?Q?TLVO/gdYPZ/BTQ/hAPxqGRH3SSMPFzmSCuLSokYFh+a2p99uEIAgBgFQ1xkn?= =?us-ascii?Q?8BjNCKkYYqPdFsCZqwog2iHAhzcKQkAaGQI12HEyr85uFF6UJIUg9fdlYaPS?= =?us-ascii?Q?nL25MNi33sfAb5SbS3NqHEW87PxHs9KLPoV6M1bsrz6t+fUGnhr9IF556nQM?= =?us-ascii?Q?xACoHDGZlF9Gtqo9K8OmLs2wiKvHQDeYvHEC68LLnl7pSjL3HqlWpFUGG2t1?= =?us-ascii?Q?qrB2r0pmST+s1VDJtlUDnJUmRhYjKFUqX4Yt74VqkfQBEwUSoh2V5x5Y0sEk?= =?us-ascii?Q?/DX6+kqtV3mOUyiOYe3JSwILXfG8s8BuWCmiawXt4VGUdKEXmhpfFNBO+Psp?= =?us-ascii?Q?ZWSK6KGYxahZFQzXJHXKltEHmvwwazAKkeKNzSNdSSjYZuzFW0JPeQr3+ZGP?= =?us-ascii?Q?AJvptI/aFVysfAkQemXFSqxW9EDJQ64NdJwfn5kMXkBIjg8d/k0sJCWXHoL2?= =?us-ascii?Q?iSWaPMWV9i6UadWAECiKaRH3Q7z0ojLN/8wseDkStaBx5fQrjUkb4cTAS2LI?= =?us-ascii?Q?CeU+fRe2bpFOugyIr8=3D?= X-Microsoft-Antispam-Message-Info: VhmVjG9jcey8n3ITRsiAWKIWU3b8OO3Jhq/sW8XVtJUe58oxgAfhNzMzs7dkayDgXl9FxIf/aFzsLYL+vSTl9mdT/yeX8eX5OcALgLfxnGcjaADAnUaCg+8SMpkNBEMbaqL4Iei3QfYJrGe2DB9xT9fDIQ9XrDjUFIa4ONXmWFrDWRahCPw4ElaX+v+XYNHQWjnSxtDxL9CPwDyOwxfrpWmHxwALALDXmt5cjVkeAonvbi+GZh4cw6FUnf7iOK6yzwJC1P5jx93tMg8SWtctljp9QWAtjXTs8JlKWeLIIYRmWggIu2kuZGkf8tDH+FiMH/EzSs6GxyNim1l0B2HITNTjpP+KHZeM/w+ZlKGzIlI= X-Microsoft-Exchange-Diagnostics: 1; MWHPR04MB0401; 6:cN307S9N/ppEkchjR7VHULEuoWh6B3ElYFo75PYPWvXIB1HBYld0rcOmtNwMSg7fJHJ+z/NHVfOccTYwS6nPv+6v+AxMETIjWBh6Agiw3HT1sIYW9LXWFiy31cfwIqm/wO6QPKG1DED72S4CeNiMd+6DcVvg/IKrtNb/Kr4/8MpYLhD5D3xDIETesE+l1DNl9zy8veNXJJPAni1R94558s+NJNveyGnnW4NnwJ7O/Lh+g1GV078/sMsvtJT9S1PTvGtLNU5q+L0OHB/85kbNWiEwelZKQMDNS3VFnIlJhfNM1HrxJLvm+Sc1BP5EQje2LU6JexP0IaNZ5R2KWK5lOfZ+3g6FOadu5CG2Ry3IS3+e1sx0tp7F8ooUmiEbbuEiBtYj4ORjwyJaK2ndfMfVPKIBxGw/scq/E0iRC2mPWpnEw0Xb3YqW4XOg70eeZfF8Vv8AyYF0OaBaO1Gf6ZTuTA==; 5:ca2TFtYgh97hSimyuEqZTMq2xvbQit9eUbLt+Po+FC0Nhe1aMEhFuW5OrqbAxatt/LMQxsuVGvEJv4pTZARgwfmmIvaRvgC3CYEQKw6nw08hAj5ylb+FAUHUOcBc5L6pOO5kcTl7Yiw8v8Ks9i7ILllrAUe140VsByqhW1QBPds=; 7:p3fcyyXmrxZ508wCTyz70QyOqLmxLoZrUylI0VFCGE8DnDDhlbgSU/e5nxjg4UdPIhPKxqhcgawUYDgXSusXS6+5Gtns9AzL2107psrnWFCdWutsxINs0YHrs6YGJ6L/OXOeHVUX3XPCVm+k4SE24XJBq+VFX2ZsYoczP/btID8o3+K3p/Qt1PSfK6MmiUkm7ONZNR55Apd0BqHao7pbcHuYWDSECk/gaGzQJzQxz+of2Y5HlBXclnqgPDCcTB83 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2018 17:57:33.0443 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 723fdd20-b74a-4a05-9db3-08d60dd8e55f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR04MB0401 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 216.71.154.42 Subject: [Qemu-devel] [PATCH v4 7/7] hw/riscv/virt: Connect a VirtIO net PCIe 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@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZohoMail: RDMRC_1 RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Alistair Francis --- default-configs/riscv32-softmmu.mak | 1 + default-configs/riscv64-softmmu.mak | 1 + hw/riscv/virt.c | 20 +++++++++++++++++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/default-configs/riscv32-softmmu.mak b/default-configs/riscv32-= softmmu.mak index 35e74bebe9..6e19fdc935 100644 --- a/default-configs/riscv32-softmmu.mak +++ b/default-configs/riscv32-softmmu.mak @@ -9,6 +9,7 @@ CONFIG_CADENCE=3Dy CONFIG_PCI=3Dy CONFIG_PCI_GENERIC=3Dy CONFIG_PCI_XILINX=3Dy +CONFIG_VIRTIO_PCI=3Dy =20 CONFIG_VGA=3Dy CONFIG_VGA_PCI=3Dy diff --git a/default-configs/riscv64-softmmu.mak b/default-configs/riscv64-= softmmu.mak index 35e74bebe9..6e19fdc935 100644 --- a/default-configs/riscv64-softmmu.mak +++ b/default-configs/riscv64-softmmu.mak @@ -9,6 +9,7 @@ CONFIG_CADENCE=3Dy CONFIG_PCI=3Dy CONFIG_PCI_GENERIC=3Dy CONFIG_PCI_XILINX=3Dy +CONFIG_VIRTIO_PCI=3Dy =20 CONFIG_VGA=3Dy CONFIG_VGA_PCI=3Dy diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index d360d66e42..faca8e3d42 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -36,6 +36,7 @@ #include "hw/riscv/sifive_test.h" #include "hw/riscv/virt.h" #include "chardev/char.h" +#include "net/net.h" #include "sysemu/arch_init.h" #include "sysemu/device_tree.h" #include "exec/address-spaces.h" @@ -322,6 +323,8 @@ static void riscv_virt_board_init(MachineState *machine) MemoryRegion *system_memory =3D get_system_memory(); MemoryRegion *main_mem =3D g_new(MemoryRegion, 1); MemoryRegion *mask_rom =3D g_new(MemoryRegion, 1); + DeviceState *dev; + PCIBus *pci_bus; char *plic_hart_config; size_t plic_hart_config_len; int i; @@ -436,9 +439,20 @@ static void riscv_virt_board_init(MachineState *machin= e) qdev_get_gpio_in(DEVICE(s->plic), VIRTIO_IRQ + i)); } =20 - gpex_pcie_init(system_memory, 0, memmap[VIRT_PCIE].base, - memmap[VIRT_PCIE].size, 0x40000000, 0x20000000, - qdev_get_gpio_in(DEVICE(s->plic), PCIE_IRQ), true); + dev =3D gpex_pcie_init(system_memory, 0, memmap[VIRT_PCIE].base, + memmap[VIRT_PCIE].size, 0x40000000, 0x20000000, + qdev_get_gpio_in(DEVICE(s->plic), PCIE_IRQ), true= ); + pci_bus =3D PCI_HOST_BRIDGE(dev)->bus; + + for (i =3D 0; i < nb_nics; i++) { + NICInfo *nd =3D &nd_table[i]; + + if (!nd->model) { + nd->model =3D g_strdup("virtio"); + } + + pci_nic_init_nofail(nd, pci_bus, nd->model, NULL); + } =20 serial_mm_init(system_memory, memmap[VIRT_UART0].base, 0, qdev_get_gpio_in(DEVICE(s->plic), UART0_IRQ), 399193, --=20 2.17.1