xen: pvblock: Add initial support for para-virtualized block driver
Add initial infrastructure for Xen para-virtualized block device.
This includes compile-time configuration and the skeleton for
the future driver implementation.
Add new class UCLASS_PVBLOCK which is going to be a parent for
virtual block devices.
Add new interface type IF_TYPE_PVBLOCK.
Implement basic driver setup by reading XenStore configuration.
Signed-off-by: Andrii Anisov <andrii_anisov@epam.com>
Signed-off-by: Anastasiia Lukianenko <anastasiia_lukianenko@epam.com>
Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
diff --git a/common/board_r.c b/common/board_r.c
index add544d..9b2fec7 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -49,6 +49,7 @@
#include <nand.h>
#include <of_live.h>
#include <onenand_uboot.h>
+#include <pvblock.h>
#include <scsi.h>
#include <serial.h>
#include <status_led.h>
@@ -475,6 +476,16 @@
return 0;
}
#endif
+
+#ifdef CONFIG_PVBLOCK
+static int initr_pvblock(void)
+{
+ puts("PVBLOCK: ");
+ pvblock_init();
+ return 0;
+}
+#endif
+
/*
* Tell if it's OK to load the environment early in boot.
*
@@ -775,6 +786,9 @@
#ifdef CONFIG_XEN
initr_xen,
#endif
+#ifdef CONFIG_PVBLOCK
+ initr_pvblock,
+#endif
initr_env,
#ifdef CONFIG_SYS_BOOTPARAMS_LEN
initr_malloc_bootparams,