Call pci enum before virtio scan

Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
This commit is contained in:
David Abdurachmanov 2019-06-29 12:10:48 +03:00
parent c7647e64da
commit b62e49859d
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB
3 changed files with 44 additions and 6 deletions

View File

@ -1,22 +1,38 @@
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index 8f4c70e9..b44ec333 100644 index 8f4c70e9..38f7abb9 100644
--- a/include/config_distro_bootcmd.h --- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h
@@ -282,10 +282,23 @@ @@ -255,11 +255,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
@@ -282,10 +282,24 @@
#endif #endif
#ifdef CONFIG_CMD_VIRTIO #ifdef CONFIG_CMD_VIRTIO
-#define BOOTENV_SHARED_VIRTIO BOOTENV_SHARED_BLKDEV(virtio) -#define BOOTENV_SHARED_VIRTIO BOOTENV_SHARED_BLKDEV(virtio)
+#define BOOTENV_RUN_VIRTIO_INIT "run virtio_init; " +#define BOOTENV_RUN_VIRTIO_INIT "run virtio_init; "
+#define BOOTENV_SET_VIRTIO_NEED_INIT "setenv virtio_need_init; " +#define BOOTENV_SET_VIRTIO_NEED_INIT "virtio_need_init=; "
+#define BOOTENV_SHARED_VIRTIO \ +#define BOOTENV_SHARED_VIRTIO \
+ "virtio_init=" \ + "virtio_init=" \
+ "if ${virtio_need_init}; then " \ + "if ${virtio_need_init}; then " \
+ "setenv virtio_need_init false; " \ + "virtio_need_init=false; " \
+ "virtio scan; " \ + "virtio scan; " \
+ "fi\0" \ + "fi\0" \
+ \ + \
+ "virtio_boot=" \ + "virtio_boot=" \
+ BOOTENV_RUN_PCI_ENUM \
+ BOOTENV_RUN_VIRTIO_INIT \ + BOOTENV_RUN_VIRTIO_INIT \
+ BOOTENV_SHARED_BLKDEV_BODY(virtio) + BOOTENV_SHARED_BLKDEV_BODY(virtio)
#define BOOTENV_DEV_VIRTIO BOOTENV_DEV_BLKDEV #define BOOTENV_DEV_VIRTIO BOOTENV_DEV_BLKDEV
@ -27,7 +43,25 @@ index 8f4c70e9..b44ec333 100644
#define BOOTENV_SHARED_VIRTIO #define BOOTENV_SHARED_VIRTIO
#define BOOTENV_DEV_VIRTIO \ #define BOOTENV_DEV_VIRTIO \
BOOT_TARGET_DEVICES_references_VIRTIO_without_CONFIG_CMD_VIRTIO BOOT_TARGET_DEVICES_references_VIRTIO_without_CONFIG_CMD_VIRTIO
@@ -465,6 +478,7 @@ @@ -351,7 +365,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;" \
@@ -370,7 +384,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 \ "distro_bootcmd=" BOOTENV_SET_SCSI_NEED_INIT \
BOOTENV_SET_NVME_NEED_INIT \ BOOTENV_SET_NVME_NEED_INIT \

View File

@ -2,7 +2,7 @@
Name: uboot-tools Name: uboot-tools
Version: 2019.07 Version: 2019.07
Release: 0.1%{?candidate:.%{candidate}}.3.riscv64%{?dist} Release: 0.1%{?candidate:.%{candidate}}.4.riscv64%{?dist}
Summary: U-Boot utilities Summary: U-Boot utilities
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
URL: http://www.denx.de/wiki/U-Boot URL: http://www.denx.de/wiki/U-Boot
@ -291,6 +291,10 @@ cp -p board/warp7/README builds/docs/README.warp7
%endif %endif
%changelog %changelog
* Sat Jun 29 2019 David Abdurachmanov <david.abdurachmanov@sifive.com> 2019.07-0.1-rc4.4.riscv64
- Go back to local variables (to avoid pollution environment) and call pci enum before
virtio scan.
* Sat Jun 29 2019 David Abdurachmanov <david.abdurachmanov@sifive.com> 2019.07-0.1-rc4.3.riscv64 * Sat Jun 29 2019 David Abdurachmanov <david.abdurachmanov@sifive.com> 2019.07-0.1-rc4.3.riscv64
- Uset sentenv instead of local variable for virtio_need_init - Uset sentenv instead of local variable for virtio_need_init