]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg/VirtioFsDxe: DriverBinding: open VirtioDevice, install SimpleFs
authorLaszlo Ersek <lersek@redhat.com>
Wed, 16 Dec 2020 21:10:40 +0000 (22:10 +0100)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 21 Dec 2020 17:16:23 +0000 (17:16 +0000)
commitb55d6622d4f4d795d71e930da1fcda7c78a7fe96
tree51c7fd519a83ae90aa4ec61cbd6d56ecce0e2eec
parentfbc3e1267a430a20e8909ae8a6dfe1b98de9b7bc
OvmfPkg/VirtioFsDxe: DriverBinding: open VirtioDevice, install SimpleFs

Complete the Supported, Start, and Stop member functions of
EFI_DRIVER_BINDING_PROTOCOL sufficiently for exercising the UEFI driver
model:

- bind virtio-fs devices,

- produce placeholder EFI_SIMPLE_FILE_SYSTEM_PROTOCOL instances on them.

On the "TO_START" (= Virtio) side, the VirtioFsBindingSupported() function
verifies the Virtio subsystem ID for the virtio-fs device (decimal 26 --
see
<https://github.com/oasis-tcs/virtio-spec/blob/87fa6b5d8155/virtio-fs.tex>).
Beyond that, no actual Virtio setup is performed for now. Those bits are
going to be implemented later in this series.

On the "BY_START" (= UEFI filesystem) side, the VirtioFsOpenVolume()
function -- which is the sole EFI_SIMPLE_FILE_SYSTEM_PROTOCOL member
function -- is a stub; it always returns EFI_NO_MEDIA, for now.

The "CONNECT", "DISCONNECT", and "MAP -R" UEFI Shell commands can be used
to test this patch.

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-4-lersek@redhat.com>
Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
OvmfPkg/Include/IndustryStandard/Virtio10.h
OvmfPkg/VirtioFsDxe/DriverBinding.c
OvmfPkg/VirtioFsDxe/SimpleFsOpenVolume.c [new file with mode: 0644]
OvmfPkg/VirtioFsDxe/VirtioFsDxe.h [new file with mode: 0644]
OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf