mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +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'");
 | |
| 
 |