summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/Include/IndustryStandard
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2020-12-16 22:10:55 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-12-21 17:16:23 +0000
commitda82d2e3a088ba4c8e5598611196c55534ddb630 (patch)
tree410e4a4aba181b3b186181b02c4dc5f1cc595476 /OvmfPkg/Include/IndustryStandard
parent7e8c83f7d4823009d1f37ec6a0fa2c4ef888c2d5 (diff)
downloadedk2-da82d2e3a088ba4c8e5598611196c55534ddb630.tar.gz
edk2-da82d2e3a088ba4c8e5598611196c55534ddb630.tar.bz2
edk2-da82d2e3a088ba4c8e5598611196c55534ddb630.zip
OvmfPkg/VirtioFsDxe: implement the wrapper function for FUSE_OPEN
Add the VirtioFsFuseOpen() function, for sending the FUSE_OPEN command to the Virtio Filesystem device. Cc: Ard Biesheuvel <ard.biesheuvel@arm.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3097 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20201216211125.19496-19-lersek@redhat.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Diffstat (limited to 'OvmfPkg/Include/IndustryStandard')
-rw-r--r--OvmfPkg/Include/IndustryStandard/VirtioFs.h35
1 files changed, 21 insertions, 14 deletions
diff --git a/OvmfPkg/Include/IndustryStandard/VirtioFs.h b/OvmfPkg/Include/IndustryStandard/VirtioFs.h
index fec2f4be53..7b6f303355 100644
--- a/OvmfPkg/Include/IndustryStandard/VirtioFs.h
+++ b/OvmfPkg/Include/IndustryStandard/VirtioFs.h
@@ -82,10 +82,17 @@ typedef struct {
#define VIRTIO_FS_FUSE_ROOT_DIR_NODE_ID 1
//
+// Flags for VirtioFsFuseOpOpen.
+//
+#define VIRTIO_FS_FUSE_OPEN_REQ_F_RDONLY 0
+#define VIRTIO_FS_FUSE_OPEN_REQ_F_RDWR 2
+
+//
// FUSE operation codes.
//
typedef enum {
VirtioFsFuseOpForget = 2,
+ VirtioFsFuseOpOpen = 14,
VirtioFsFuseOpRelease = 18,
VirtioFsFuseOpFsync = 20,
VirtioFsFuseOpFlush = 25,
@@ -124,6 +131,20 @@ typedef struct {
} VIRTIO_FS_FUSE_FORGET_REQUEST;
//
+// Headers for VirtioFsFuseOpOpen and VirtioFsFuseOpOpenDir.
+//
+typedef struct {
+ UINT32 Flags;
+ UINT32 Unused;
+} VIRTIO_FS_FUSE_OPEN_REQUEST;
+
+typedef struct {
+ UINT64 FileHandle;
+ UINT32 OpenFlags;
+ UINT32 Padding;
+} VIRTIO_FS_FUSE_OPEN_RESPONSE;
+
+//
// Header for VirtioFsFuseOpRelease and VirtioFsFuseOpReleaseDir.
//
typedef struct {
@@ -175,20 +196,6 @@ typedef struct {
UINT16 MapAlignment;
UINT32 Unused[8];
} VIRTIO_FS_FUSE_INIT_RESPONSE;
-
-//
-// Headers for VirtioFsFuseOpOpenDir.
-//
-typedef struct {
- UINT32 Flags;
- UINT32 Unused;
-} VIRTIO_FS_FUSE_OPEN_REQUEST;
-
-typedef struct {
- UINT64 FileHandle;
- UINT32 OpenFlags;
- UINT32 Padding;
-} VIRTIO_FS_FUSE_OPEN_RESPONSE;
#pragma pack ()
#endif // VIRTIO_FS_H_