https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   BlockFront functions and types declarations.
 | |
| 
 | |
|   Copyright (C) 2014, Citrix Ltd.
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| #include "XenPvBlkDxe.h"
 | |
| 
 | |
| #include <IndustryStandard/Xen/event_channel.h>
 | |
| #include <IndustryStandard/Xen/io/blkif.h>
 | |
| 
 | |
| typedef struct _XEN_BLOCK_FRONT_DEVICE XEN_BLOCK_FRONT_DEVICE;
 | |
| typedef struct _XEN_BLOCK_FRONT_IO XEN_BLOCK_FRONT_IO;
 | |
| 
 | |
| struct _XEN_BLOCK_FRONT_IO
 | |
| {
 | |
|   XEN_BLOCK_FRONT_DEVICE  *Dev;
 | |
|   UINT8                   *Buffer;
 | |
|   UINTN                   Size;
 | |
|   UINTN                   Sector; ///< 512 bytes sector.
 | |
| 
 | |
|   grant_ref_t             GrantRef[BLKIF_MAX_SEGMENTS_PER_REQUEST];
 | |
|   INT32                   NumRef;
 | |
| 
 | |
|   EFI_STATUS              Status;
 | |
| };
 | |
| 
 | |
| typedef struct
 | |
| {
 | |
|   UINT64    Sectors;
 | |
|   UINT32    SectorSize;
 | |
|   UINT32    VDiskInfo;
 | |
|   BOOLEAN   ReadWrite;
 | |
|   BOOLEAN   CdRom;
 | |
|   BOOLEAN   FeatureBarrier;
 | |
|   BOOLEAN   FeatureFlushCache;
 | |
| } XEN_BLOCK_FRONT_MEDIA_INFO;
 | |
| 
 | |
| #define XEN_BLOCK_FRONT_SIGNATURE SIGNATURE_32 ('X', 'p', 'v', 'B')
 | |
| struct _XEN_BLOCK_FRONT_DEVICE {
 | |
|   UINT32                      Signature;
 | |
|   EFI_BLOCK_IO_PROTOCOL       BlockIo;
 | |
|   domid_t                     DomainId;
 | |
| 
 | |
|   blkif_front_ring_t          Ring;
 | |
|   grant_ref_t                 RingRef;
 | |
|   evtchn_port_t               EventChannel;
 | |
|   blkif_vdev_t                DeviceId;
 | |
| 
 | |
|   CONST CHAR8                 *NodeName;
 | |
|   XEN_BLOCK_FRONT_MEDIA_INFO  MediaInfo;
 | |
| 
 | |
|   VOID                        *StateWatchToken;
 | |
| 
 | |
|   XENBUS_PROTOCOL             *XenBusIo;
 | |
| };
 | |
| 
 | |
| #define XEN_BLOCK_FRONT_FROM_BLOCK_IO(b) \
 | |
|   CR (b, XEN_BLOCK_FRONT_DEVICE, BlockIo, XEN_BLOCK_FRONT_SIGNATURE)
 | |
| 
 | |
| EFI_STATUS
 | |
| XenPvBlockFrontInitialization (
 | |
|   IN  XENBUS_PROTOCOL  *XenBusIo,
 | |
|   IN  CONST CHAR8      *NodeName,
 | |
|   OUT XEN_BLOCK_FRONT_DEVICE **DevPtr
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| XenPvBlockFrontShutdown (
 | |
|   IN XEN_BLOCK_FRONT_DEVICE *Dev
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| XenPvBlockAsyncIo (
 | |
|   IN OUT XEN_BLOCK_FRONT_IO *IoData,
 | |
|   IN     BOOLEAN            IsWrite
 | |
|   );
 | |
| 
 | |
| EFI_STATUS
 | |
| XenPvBlockIo (
 | |
|   IN OUT XEN_BLOCK_FRONT_IO *IoData,
 | |
|   IN     BOOLEAN            IsWrite
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| XenPvBlockAsyncIoPoll (
 | |
|   IN XEN_BLOCK_FRONT_DEVICE *Dev
 | |
|   );
 | |
| 
 | |
| VOID
 | |
| XenPvBlockSync (
 | |
|   IN XEN_BLOCK_FRONT_DEVICE *Dev
 | |
|   );
 |