X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=OvmfPkg%2FLibrary%2FVirtioMmioDeviceLib%2FVirtioMmioDevice.h;h=e6279159f8ba989bc2a43a3a98751662f06a6b9c;hp=3b1e90ba9f3b391d0dab4cd8b45157d9b6077e3e;hb=53a4c6047f3ce2ece7bb8db5b9815a1c9227dddb;hpb=235be6a0f197d6c103615ae2bf7b329ece890da1 diff --git a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h index 3b1e90ba9f..e6279159f8 100644 --- a/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h +++ b/OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDevice.h @@ -3,6 +3,7 @@ Internal definitions for the VirtIo MMIO Device driver Copyright (C) 2013, ARM Ltd + Copyright (C) 2017, AMD Inc. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this @@ -25,6 +26,7 @@ #include #include #include +#include #define VIRTIO_MMIO_DEVICE_SIGNATURE SIGNATURE_32 ('V', 'M', 'I', 'O') @@ -85,56 +87,91 @@ VirtioMmioGetDeviceStatus ( EFI_STATUS EFIAPI VirtioMmioSetQueueSize ( - VIRTIO_DEVICE_PROTOCOL *This, - UINT16 QueueSize + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINT16 QueueSize ); EFI_STATUS EFIAPI VirtioMmioSetDeviceStatus ( - VIRTIO_DEVICE_PROTOCOL *This, - UINT8 DeviceStatus + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINT8 DeviceStatus ); EFI_STATUS EFIAPI VirtioMmioSetQueueNotify ( - VIRTIO_DEVICE_PROTOCOL *This, - UINT16 QueueNotify + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINT16 QueueNotify ); EFI_STATUS EFIAPI VirtioMmioSetQueueSel ( - VIRTIO_DEVICE_PROTOCOL *This, - UINT16 Sel + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINT16 Sel ); EFI_STATUS VirtioMmioSetQueueAddress ( - VIRTIO_DEVICE_PROTOCOL *This, - UINT32 Address + IN VIRTIO_DEVICE_PROTOCOL *This, + IN VRING *Ring, + IN UINT64 RingBaseShift ); EFI_STATUS EFIAPI VirtioMmioSetQueueAlignment ( - VIRTIO_DEVICE_PROTOCOL *This, - UINT32 Alignment + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINT32 Alignment ); EFI_STATUS EFIAPI VirtioMmioSetPageSize ( - VIRTIO_DEVICE_PROTOCOL *This, - UINT32 PageSize + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINT32 PageSize ); EFI_STATUS EFIAPI VirtioMmioSetGuestFeatures ( - VIRTIO_DEVICE_PROTOCOL *This, - UINT64 Features + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINT64 Features + ); + +EFI_STATUS +EFIAPI +VirtioMmioAllocateSharedPages ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINTN NumPages, + OUT VOID **HostAddress + ); + +VOID +EFIAPI +VirtioMmioFreeSharedPages ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN UINTN NumPages, + IN VOID *HostAddress + ); + +EFI_STATUS +EFIAPI +VirtioMmioMapSharedBuffer ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN VIRTIO_MAP_OPERATION Operation, + IN VOID *HostAddress, + IN OUT UINTN *NumberOfBytes, + OUT EFI_PHYSICAL_ADDRESS *DeviceAddress, + OUT VOID **Mapping + ); + +EFI_STATUS +EFIAPI +VirtioMmioUnmapSharedBuffer ( + IN VIRTIO_DEVICE_PROTOCOL *This, + IN VOID *Mapping ); #endif // _VIRTIO_MMIO_DEVICE_INTERNAL_H_