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_