mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
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>
This commit is contained in:
committed by
Tom Rini
parent
c850674ff7
commit
722bc5b5d9
@@ -33,6 +33,7 @@ enum if_type {
|
||||
IF_TYPE_HOST,
|
||||
IF_TYPE_NVME,
|
||||
IF_TYPE_EFI,
|
||||
IF_TYPE_PVBLOCK,
|
||||
IF_TYPE_VIRTIO,
|
||||
|
||||
IF_TYPE_COUNT, /* Number of interface types */
|
||||
|
||||
@@ -41,4 +41,12 @@
|
||||
#define CONFIG_CMDLINE_TAG 1
|
||||
#define CONFIG_INITRD_TAG 1
|
||||
|
||||
#define CONFIG_CMD_RUN
|
||||
|
||||
#undef CONFIG_EXTRA_ENV_SETTINGS
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"loadimage=ext4load pvblock 0 0x90000000 /boot/Image;\0" \
|
||||
"pvblockboot=run loadimage;" \
|
||||
"booti 0x90000000 - 0x88000000;\0"
|
||||
|
||||
#endif /* __XENGUEST_ARM64_H */
|
||||
|
||||
@@ -123,6 +123,7 @@ enum uclass_id {
|
||||
UCLASS_W1, /* Dallas 1-Wire bus */
|
||||
UCLASS_W1_EEPROM, /* one-wire EEPROMs */
|
||||
UCLASS_WDT, /* Watchdog Timer driver */
|
||||
UCLASS_PVBLOCK, /* Xen virtual block device */
|
||||
|
||||
UCLASS_COUNT,
|
||||
UCLASS_INVALID = -1,
|
||||
|
||||
17
include/pvblock.h
Normal file
17
include/pvblock.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+
|
||||
*
|
||||
* (C) 2020 EPAM Systems Inc.
|
||||
*/
|
||||
|
||||
#ifndef _PVBLOCK_H
|
||||
#define _PVBLOCK_H
|
||||
|
||||
/**
|
||||
* pvblock_init() - Initialize para-virtual block device class driver
|
||||
*
|
||||
* Bind PV block to UCLASS_ROOT device and probe all UCLASS_PVBLOCK
|
||||
* virtual block devices.
|
||||
*/
|
||||
void pvblock_init(void);
|
||||
|
||||
#endif /* _PVBLOCK_H */
|
||||
Reference in New Issue
Block a user