[U-Boot] [PATCH v4 24/28] distro_bootcmd: add VirtIO distro boot command
Lukas Auer
lukas.auer at aisec.fraunhofer.de
Thu Nov 22 10:26:33 UTC 2018
Add a boot command to distro boot to support disks connected over the
VirtIO bus. The boot command uses the shared block environment.
Signed-off-by: Lukas Auer <lukas.auer at aisec.fraunhofer.de>
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
Reviewed-by: Alexander Graf <agraf at suse.de>
---
Changes in v4: None
Changes in v3:
- New patch to add VirtIO distro boot command
Changes in v2: None
doc/README.distro | 3 ++-
include/config_distro_bootcmd.h | 13 +++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/doc/README.distro b/doc/README.distro
index f8e9752a0f..ab6e6f4e74 100644
--- a/doc/README.distro
+++ b/doc/README.distro
@@ -292,7 +292,7 @@ Each entry in the macro defines a single boot device (e.g. a specific eMMC
device or SD card) or type of boot device (e.g. USB disk). The parameters to
the func macro (passed in by the internal implementation of the header) are:
-- Upper-case disk type (MMC, SATA, SCSI, IDE, USB, DHCP, PXE).
+- Upper-case disk type (MMC, SATA, SCSI, IDE, USB, DHCP, PXE, VIRTIO).
- Lower-case disk type (same options as above).
- ID of the specific disk (MMC only) or ignored for other types.
@@ -398,6 +398,7 @@ The list of possible targets consists of:
* scsi
* ide
* usb
+ * virtio
Other *boot* variables than the ones defined above are only for internal use
of the boot environment and are not guaranteed to exist or work in the same
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
index d06974c58c..555efb7433 100644
--- a/include/config_distro_bootcmd.h
+++ b/include/config_distro_bootcmd.h
@@ -242,6 +242,18 @@
BOOT_TARGET_DEVICES_references_USB_without_CONFIG_CMD_USB
#endif
+#ifdef CONFIG_CMD_VIRTIO
+#define BOOTENV_SHARED_VIRTIO BOOTENV_SHARED_BLKDEV(virtio)
+#define BOOTENV_DEV_VIRTIO BOOTENV_DEV_BLKDEV
+#define BOOTENV_DEV_NAME_VIRTIO BOOTENV_DEV_NAME_BLKDEV
+#else
+#define BOOTENV_SHARED_VIRTIO
+#define BOOTENV_DEV_VIRTIO \
+ BOOT_TARGET_DEVICES_references_VIRTIO_without_CONFIG_CMD_VIRTIO
+#define BOOTENV_DEV_NAME_VIRTIO \
+ BOOT_TARGET_DEVICES_references_VIRTIO_without_CONFIG_CMD_VIRTIO
+#endif
+
#if defined(CONFIG_CMD_DHCP)
#if defined(CONFIG_EFI_LOADER)
/* http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml */
@@ -350,6 +362,7 @@
BOOTENV_SHARED_IDE \
BOOTENV_SHARED_UBIFS \
BOOTENV_SHARED_EFI \
+ BOOTENV_SHARED_VIRTIO \
"boot_prefixes=/ /boot/\0" \
"boot_scripts=boot.scr.uimg boot.scr\0" \
"boot_script_dhcp=boot.scr.uimg\0" \
--
2.17.2
More information about the U-Boot
mailing list