TianoCore EDK2 master
Loading...
Searching...
No Matches
BlockFront.h
Go to the documentation of this file.
1
9#include "XenPvBlkDxe.h"
10
11#include <IndustryStandard/Xen/event_channel.h>
12#include <IndustryStandard/Xen/io/blkif.h>
13
16
19 UINT8 *Buffer;
20 UINTN Size;
22
23 grant_ref_t GrantRef[BLKIF_MAX_SEGMENTS_PER_REQUEST];
24 INT32 NumRef;
25
26 EFI_STATUS Status;
27};
28
29typedef struct {
30 UINT64 Sectors;
31 UINT32 SectorSize;
32 UINT32 VDiskInfo;
33 BOOLEAN ReadWrite;
34 BOOLEAN CdRom;
35 BOOLEAN FeatureBarrier;
36 BOOLEAN FeatureFlushCache;
38
39#define XEN_BLOCK_FRONT_SIGNATURE SIGNATURE_32 ('X', 'p', 'v', 'B')
41 UINT32 Signature;
43 domid_t DomainId;
44
45 blkif_front_ring_t Ring;
46 grant_ref_t RingRef;
47 evtchn_port_t EventChannel;
48 blkif_vdev_t DeviceId;
49
50 CONST CHAR8 *NodeName;
52
53 VOID *StateWatchToken;
54
55 XENBUS_PROTOCOL *XenBusIo;
56};
57
58#define XEN_BLOCK_FRONT_FROM_BLOCK_IO(b) \
59 CR (b, XEN_BLOCK_FRONT_DEVICE, BlockIo, XEN_BLOCK_FRONT_SIGNATURE)
60
62XenPvBlockFrontInitialization (
63 IN XENBUS_PROTOCOL *XenBusIo,
64 IN CONST CHAR8 *NodeName,
66 );
67
68VOID
69XenPvBlockFrontShutdown (
71 );
72
73VOID
74XenPvBlockAsyncIo (
76 IN BOOLEAN IsWrite
77 );
78
80XenPvBlockIo (
82 IN BOOLEAN IsWrite
83 );
84
85VOID
86XenPvBlockAsyncIoPoll (
88 );
89
90VOID
91XenPvBlockSync (
93 );
UINT64 UINTN
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
UINTN Sector
512 bytes sector.
Definition: BlockFront.h:21