mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-03 21:48:15 +00:00 
			
		
		
		
	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>
		
			
				
	
	
		
			31 lines
		
	
	
		
			845 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			845 B
		
	
	
	
		
			C
		
	
	
	
	
	
// SPDX-License-Identifier: GPL-2.0+
 | 
						|
/*
 | 
						|
 * (C) Copyright 2020 EPAM Systems Inc.
 | 
						|
 *
 | 
						|
 * XEN para-virtualized block device support
 | 
						|
 */
 | 
						|
 | 
						|
#include <blk.h>
 | 
						|
#include <common.h>
 | 
						|
#include <command.h>
 | 
						|
 | 
						|
/* Current I/O Device */
 | 
						|
static int pvblock_curr_device;
 | 
						|
 | 
						|
int do_pvblock(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 | 
						|
{
 | 
						|
	return blk_common_cmd(argc, argv, IF_TYPE_PVBLOCK,
 | 
						|
			      &pvblock_curr_device);
 | 
						|
}
 | 
						|
 | 
						|
U_BOOT_CMD(pvblock, 5, 1, do_pvblock,
 | 
						|
	   "Xen para-virtualized block device",
 | 
						|
	   "info  - show available block devices\n"
 | 
						|
	   "pvblock device [dev] - show or set current device\n"
 | 
						|
	   "pvblock part [dev] - print partition table of one or all devices\n"
 | 
						|
	   "pvblock read  addr blk# cnt\n"
 | 
						|
	   "pvblock write addr blk# cnt - read/write `cnt'"
 | 
						|
	   " blocks starting at block `blk#'\n"
 | 
						|
	   "    to/from memory address `addr'");
 | 
						|
 |