From patchwork Wed Jul 3 12:50:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Abdurachmanov X-Patchwork-Id: 1126866 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ttirVMUU"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45f1G61YXBz9s3Z for ; Wed, 3 Jul 2019 22:51:58 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id B07F0C21DE8; Wed, 3 Jul 2019 12:51:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id C2DF1C21DC1; Wed, 3 Jul 2019 12:51:31 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 094C8C21E07; Wed, 3 Jul 2019 12:51:24 +0000 (UTC) Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) by lists.denx.de (Postfix) with ESMTPS id CC87CC21DB3 for ; Wed, 3 Jul 2019 12:51:20 +0000 (UTC) Received: by mail-lj1-f194.google.com with SMTP id h10so2320969ljg.0 for ; Wed, 03 Jul 2019 05:51:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D/3xtY5gnaSJ+hrXxyqGZ0QTRCF9czaaQUBNI6OJHes=; b=ttirVMUUfJm9o+LXeoTEg2GIzOuhZytL/a2bV/QXdSO0c/4hz4UZGKNfqM56Vb1p2v oXE/VWnBMFI0/bAqDHKQraBng7kRdfDlGHUeD2xEROqWwsvu5Mtz1EN1Fykriq/XllRj 3/NQZ5LOJ5hn5bVqWKQoMFmkm2iHq6BWQZ2JsdFRAoa3rQ/4yAVDBTCxCYxMNiybNA3o hB9LiJUdHci8nP8DC7ImSJeAPO5iken2df8wYG5Vmmxlz1Fabka+keF2mXFCmeU/N+Te mZaSM/f1OfEToCmFsMmw26PDzJi/ZXnPqLNLxBmIMyRzecc8TAZ0BNDLdi75q49HyPUV +RCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D/3xtY5gnaSJ+hrXxyqGZ0QTRCF9czaaQUBNI6OJHes=; b=kJsVMtIVDqRJIvLuEup6ImnqleJDPS68SpA1rIeMGLrRSj9nEk9bxg+7yNerWFUb+n 1F5oSEERlCU0SEh+8usJJWVMccvrIvfX+OhnjDKFuspjrhxuqjHEdRc2V0qY8Y63WBkl UKHaIKEO0t0SkDabttBjNaoVDomPP6+weVbdH2502vcdaT2ikG3DlMxD2cK7h3denQVd GgTyd10T/lwNyu2KfUSPZEpWDI8aOCbdNds0TZv2NcgD+w5veVjFxU5/bH6ZfDZY+czy SnhAAhvLrgqVEOF/0B3k4CcEYiGs1ElEiRPYf60xzssIX/tDcBLhhXSuBxUU2ASbMYeJ PZZA== X-Gm-Message-State: APjAAAXxYZvwDQgfp+JFycyAmkTOiJv4X1eC+SYYmbKgB5BoeaiVMh51 B1MFqDYS/POBzeeTSEouzBbMyMrW X-Google-Smtp-Source: APXvYqzPaboKcgCAPZyCwloWvDJtAEg2uGgS5n7tc/dFdsX+/I5we7WyUBpbLwDCnw24Pay+IEolhw== X-Received: by 2002:a2e:5cc8:: with SMTP id q191mr21640050ljb.118.1562158280112; Wed, 03 Jul 2019 05:51:20 -0700 (PDT) Received: from localhost.localdomain (data-162-227.cgates.lt. [5.20.162.227]) by smtp.gmail.com with ESMTPSA id m28sm455377ljb.68.2019.07.03.05.51.13 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 03 Jul 2019 05:51:19 -0700 (PDT) From: David Abdurachmanov X-Google-Original-From: David Abdurachmanov To: u-boot@lists.denx.de Date: Wed, 3 Jul 2019 15:50:44 +0300 Message-Id: <20190703125045.28116-2-david.abdurachmanov@sifive.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190703125045.28116-1-david.abdurachmanov@sifive.com> References: <20190703125045.28116-1-david.abdurachmanov@sifive.com> MIME-Version: 1.0 Cc: David Abdurachmanov Subject: [U-Boot] [PATCH 1/2] qemu-riscv: enable VIRTIO_PCI X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" libvirt v.5.3.0 with QEMU 4.0.0 or above uses PCI automatically and thus devices (network, storage, etc) are connected via PCI. Signed-off-by: David Abdurachmanov Reviewed-by: Bin Meng --- board/emulation/qemu-riscv/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/board/emulation/qemu-riscv/Kconfig b/board/emulation/qemu-riscv/Kconfig index 7f9a74dd48..6cc7c31dc6 100644 --- a/board/emulation/qemu-riscv/Kconfig +++ b/board/emulation/qemu-riscv/Kconfig @@ -24,6 +24,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy imply VIRTIO_MMIO imply VIRTIO_NET imply VIRTIO_BLK + imply VIRTIO_PCI imply CMD_PING imply CMD_FS_GENERIC imply DOS_PARTITION From patchwork Wed Jul 3 12:50:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Abdurachmanov X-Patchwork-Id: 1126867 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="CsUbZt3w"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45f1Gc2S5Zz9s3Z for ; Wed, 3 Jul 2019 22:52:23 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 9BCEEC21DB5; Wed, 3 Jul 2019 12:51:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H2, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 3D80FC21D72; Wed, 3 Jul 2019 12:51:46 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 7931EC21C50; Wed, 3 Jul 2019 12:51:28 +0000 (UTC) Received: from mail-lj1-f195.google.com (mail-lj1-f195.google.com [209.85.208.195]) by lists.denx.de (Postfix) with ESMTPS id 5220DC21DD3 for ; Wed, 3 Jul 2019 12:51:28 +0000 (UTC) Received: by mail-lj1-f195.google.com with SMTP id m23so2256831lje.12 for ; Wed, 03 Jul 2019 05:51:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ngc2l/D5sE7b76Yb1ZRCA8hgrUdeKchyThWlsQ20ryI=; b=CsUbZt3wNRCsR4sHnf/Saa9u7J6xzpfb9yBQLW0uuroRGTJ8419yJlCghSo1ITHJU+ VTVjQiJcdKTUN/bFa90Cn7XnbHbP1uyO4o6IYDWPzaDe5Dx4raQh4ZWdB9LyhNNgItuV 9sZ6CBX6FCcYS1dpJX097+Fg8EO3P53h8yzqqxavDKWcMW8PXakRC5bV3CGmOTIk2Zdg WauRpo2tfXSAgzOwVAK3sit6N49pJix0uuUrH2aVY7vwvlMGeBeazrJxSu+4Ys+0VQ1m O1Od27O8QmPz0e9avRow9EXIuunUofwE5H8z43+Z0nQ9fqVlmTRC+lk6pn4EiE8fTAL3 1OGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ngc2l/D5sE7b76Yb1ZRCA8hgrUdeKchyThWlsQ20ryI=; b=rjNuJTTLrZ6qJnmPdona0iCzFhexs1sKpv6DerrFdiCqVlFtigyr88qtLdacVW20n1 fpYRiqK2GMw08suDoQpPrg6dxIgY2bROPqjNUG70drKkrp/UlSoKFuTZk32aGJzS6IGw lZSixpvaODE+OmNtwcO5hppRPQVggljMEh7B+Y56ipvlsRp8vbuJ7ZKV2Kkk7NYAbR20 GGg1BKEgjU/RkEQOhPjn/9Ww7FXoozUhnmO3h7FK4pLNqNMQx8s6B8GijJMjYdPMHluY XGDxlQUbblZgmuy3zI9tQyD6LZ7ZjESdBaqDsU6KHi8OJTwvGOtxV3/QyDGmfukjfA+A K6Lg== X-Gm-Message-State: APjAAAVjcIJ+4Fj5M1We02CwTnp11EdmMTqnI7V1Ragn6KPDdyGWmEb6 BJrDgfiTLQSePmezQPXilPr7yjze X-Google-Smtp-Source: APXvYqwOtNf1q2nq+qmpQSSafOisgnnF6a1li/XH+btKnSbN57c+GkuVfNdSxf4C5y7zYYy55N/IEQ== X-Received: by 2002:a2e:9158:: with SMTP id q24mr3245808ljg.119.1562158287662; Wed, 03 Jul 2019 05:51:27 -0700 (PDT) Received: from localhost.localdomain (data-162-227.cgates.lt. [5.20.162.227]) by smtp.gmail.com with ESMTPSA id m28sm455377ljb.68.2019.07.03.05.51.21 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 03 Jul 2019 05:51:27 -0700 (PDT) From: David Abdurachmanov X-Google-Original-From: David Abdurachmanov To: u-boot@lists.denx.de Date: Wed, 3 Jul 2019 15:50:45 +0300 Message-Id: <20190703125045.28116-3-david.abdurachmanov@sifive.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190703125045.28116-1-david.abdurachmanov@sifive.com> References: <20190703125045.28116-1-david.abdurachmanov@sifive.com> MIME-Version: 1.0 Cc: David Abdurachmanov Subject: [U-Boot] [PATCH 2/2] distro_bootcmd: refactor virtio to support PCI block devices X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" libvirt v5.3.0 with QEMU 4.0.0 use PCI automatically and thus storage is connected via PCI, which is not visible to U-Boot automatically. Refactor to do "pci enum" followed by "virtio scan" to see PCI connected storage. Tested with Fedora/RISCV using the latest releases: libvirt 5.4.0, QEMU 4.0.0 and U-Boot 2019.07 RC4. Signed-off-by: David Abdurachmanov --- include/config_distro_bootcmd.h | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index 26e61ef196..3570a32dff 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -254,11 +254,11 @@ #endif #if defined(CONFIG_DM_PCI) -#define BOOTENV_RUN_NET_PCI_ENUM "run boot_net_pci_enum; " +#define BOOTENV_RUN_PCI_ENUM "run boot_pci_enum; " #define BOOTENV_SHARED_PCI \ - "boot_net_pci_enum=pci enum\0" + "boot_pci_enum=pci enum\0" #else -#define BOOTENV_RUN_NET_PCI_ENUM +#define BOOTENV_RUN_PCI_ENUM #define BOOTENV_SHARED_PCI #endif @@ -281,10 +281,24 @@ #endif #ifdef CONFIG_CMD_VIRTIO -#define BOOTENV_SHARED_VIRTIO BOOTENV_SHARED_BLKDEV(virtio) +#define BOOTENV_RUN_VIRTIO_INIT "run virtio_init; " +#define BOOTENV_SET_VIRTIO_NEED_INIT "virtio_need_init=; " +#define BOOTENV_SHARED_VIRTIO \ + "virtio_init=" \ + "if ${virtio_need_init}; then " \ + "virtio_need_init=false; " \ + "virtio scan; " \ + "fi\0" \ + \ + "virtio_boot=" \ + BOOTENV_RUN_PCI_ENUM \ + BOOTENV_RUN_VIRTIO_INIT \ + BOOTENV_SHARED_BLKDEV_BODY(virtio) #define BOOTENV_DEV_VIRTIO BOOTENV_DEV_BLKDEV #define BOOTENV_DEV_NAME_VIRTIO BOOTENV_DEV_NAME_BLKDEV #else +#define BOOTENV_RUN_VIRTIO_INIT +#define BOOTENV_SET_VIRTIO_NEED_INIT #define BOOTENV_SHARED_VIRTIO #define BOOTENV_DEV_VIRTIO \ BOOT_TARGET_DEVICES_references_VIRTIO_without_CONFIG_CMD_VIRTIO @@ -350,7 +364,7 @@ #define BOOTENV_DEV_DHCP(devtypeu, devtypel, instance) \ "bootcmd_dhcp=" \ BOOTENV_RUN_NET_USB_START \ - BOOTENV_RUN_NET_PCI_ENUM \ + BOOTENV_RUN_PCI_ENUM \ "if dhcp ${scriptaddr} ${boot_script_dhcp}; then " \ "source ${scriptaddr}; " \ "fi;" \ @@ -369,7 +383,7 @@ #define BOOTENV_DEV_PXE(devtypeu, devtypel, instance) \ "bootcmd_pxe=" \ BOOTENV_RUN_NET_USB_START \ - BOOTENV_RUN_NET_PCI_ENUM \ + BOOTENV_RUN_PCI_ENUM \ "dhcp; " \ "if pxe get; then " \ "pxe boot; " \ @@ -465,6 +479,7 @@ "distro_bootcmd=" BOOTENV_SET_SCSI_NEED_INIT \ BOOTENV_SET_NVME_NEED_INIT \ BOOTENV_SET_IDE_NEED_INIT \ + BOOTENV_SET_VIRTIO_NEED_INIT \ "for target in ${boot_targets}; do " \ "run bootcmd_${target}; " \ "done\0"