OvmfPkg/VirtioFsDxe: introduce the basic FUSE request/response headers
Introduce the VIRTIO_FS_FUSE_REQUEST and VIRTIO_FS_FUSE_RESPONSE structures, which are the common headers for the various FUSE request/response structures. Introduce the VirtioFsFuseNewRequest() helper function for populating VIRTIO_FS_FUSE_REQUEST, from parameters and from a VIRTIO_FS-level request counter. Introduce the VirtioFsFuseCheckResponse() helper function for verifying most FUSE response types that begin with the VIRTIO_FS_FUSE_RESPONSE header. 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-7-lersek@redhat.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
This commit is contained in:
committed by
mergify[bot]
parent
6578cacb46
commit
6a2dc768f0
@@ -44,6 +44,7 @@ typedef struct {
|
||||
UINT16 QueueSize; // VirtioFsInit 1
|
||||
VRING Ring; // VirtioRingInit 2
|
||||
VOID *RingMap; // VirtioRingMap 2
|
||||
UINT64 RequestId; // DriverBindingStart 0
|
||||
EFI_EVENT ExitBoot; // DriverBindingStart 0
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL SimpleFs; // DriverBindingStart 0
|
||||
} VIRTIO_FS;
|
||||
@@ -132,6 +133,22 @@ VirtioFsSgListsSubmit (
|
||||
IN OUT VIRTIO_FS_SCATTER_GATHER_LIST *ResponseSgList OPTIONAL
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
VirtioFsFuseNewRequest (
|
||||
IN OUT VIRTIO_FS *VirtioFs,
|
||||
OUT VIRTIO_FS_FUSE_REQUEST *Request,
|
||||
IN UINT32 RequestSize,
|
||||
IN UINT32 Opcode,
|
||||
IN UINT64 NodeId
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
VirtioFsFuseCheckResponse (
|
||||
IN VIRTIO_FS_SCATTER_GATHER_LIST *ResponseSgList,
|
||||
IN UINT64 RequestId,
|
||||
OUT UINTN *TailBufferFill
|
||||
);
|
||||
|
||||
//
|
||||
// EFI_SIMPLE_FILE_SYSTEM_PROTOCOL member functions for the Virtio Filesystem
|
||||
// driver.
|
||||
|
Reference in New Issue
Block a user