Convert CONFIG_SYS_LOAD_ADDR to Kconfig
[platform/kernel/u-boot.git] / include / config_distro_bootcmd.h
index 26e61ef..750e9e0 100644 (file)
          "setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; "           \
        "fi; "
 #else
+#ifndef BOOTENV_EFI_SET_FDTFILE_FALLBACK
 #define BOOTENV_EFI_SET_FDTFILE_FALLBACK
 #endif
+#endif
 
-
-#define BOOTENV_SHARED_EFI                                                \
-       "boot_efi_binary="                                                \
+#ifdef CONFIG_CMD_BOOTEFI_BOOTMGR
+#define BOOTENV_EFI_BOOTMGR                                               \
+       "boot_efi_bootmgr="                                               \
                "if fdt addr ${fdt_addr_r}; then "                        \
                        "bootefi bootmgr ${fdt_addr_r};"                  \
                "else "                                                   \
-                       "bootefi bootmgr ${fdtcontroladdr};"              \
-               "fi;"                                                     \
+                       "bootefi bootmgr;"                                \
+               "fi\0"
+#else
+#define BOOTENV_EFI_BOOTMGR
+#endif
+
+#define BOOTENV_SHARED_EFI                                                \
+       BOOTENV_EFI_BOOTMGR                                               \
+       \
+       "boot_efi_binary="                                                \
                "load ${devtype} ${devnum}:${distro_bootpart} "           \
                        "${kernel_addr_r} efi/boot/"BOOTEFI_NAME"; "      \
                "if fdt addr ${fdt_addr_r}; then "                        \
                                "run load_efi_dtb; "                      \
                        "fi;"                                             \
                "done;"                                                   \
+               "run boot_efi_bootmgr;"                                   \
                "if test -e ${devtype} ${devnum}:${distro_bootpart} "     \
                                        "efi/boot/"BOOTEFI_NAME"; then "  \
                                "echo Found EFI removable media binary "  \
                "fi\0" \
        \
        "nvme_boot=" \
+               BOOTENV_RUN_PCI_ENUM \
                BOOTENV_RUN_NVME_INIT \
                BOOTENV_SHARED_BLKDEV_BODY(nvme)
 #define BOOTENV_DEV_NVME       BOOTENV_DEV_BLKDEV
        BOOT_TARGET_DEVICES_references_IDE_without_CONFIG_IDE
 #endif
 
-#if defined(CONFIG_DM_PCI)
-#define BOOTENV_RUN_NET_PCI_ENUM "run boot_net_pci_enum; "
+#if defined(CONFIG_PCI)
+#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
 
 #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
 #endif
 #define BOOTENV_DEV_DHCP(devtypeu, devtypel, instance) \
        "bootcmd_dhcp=" \
+               "devtype=" #devtypel "; " \
                BOOTENV_RUN_NET_USB_START \
-               BOOTENV_RUN_NET_PCI_ENUM \
+               BOOTENV_RUN_PCI_ENUM \
                "if dhcp ${scriptaddr} ${boot_script_dhcp}; then " \
                        "source ${scriptaddr}; " \
                "fi;" \
 #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; " \
        "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"