TianoCore EDK2 master
|
#include <Protocol/VirtioDevice.h>
#include <IndustryStandard/Virtio.h>
#include <Library/DebugLib.h>
#include <Library/IoLib.h>
#include <Library/UefiLib.h>
#include <Library/VirtioMmioDeviceLib.h>
#include <Library/MemoryAllocationLib.h>
Go to the source code of this file.
Data Structures | |
struct | VIRTIO_MMIO_DEVICE |
Macros | |
#define | VIRTIO_MMIO_DEVICE_SIGNATURE SIGNATURE_32 ('V', 'M', 'I', 'O') |
#define | VIRTIO_MMIO_DEVICE_VERSION_0_95 1 |
#define | VIRTIO_MMIO_DEVICE_VERSION_1_00 2 |
#define | VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE(Device) CR (Device, VIRTIO_MMIO_DEVICE, VirtioDevice, VIRTIO_MMIO_DEVICE_SIGNATURE) |
#define | VIRTIO_CFG_WRITE(Device, Offset, Val) (MmioWrite32 (Device->BaseAddress + (Offset), Val)) |
#define | VIRTIO_CFG_READ(Device, Offset) (MmioRead32 (Device->BaseAddress + (Offset))) |
Internal definitions for the VirtIo MMIO Device driver
Copyright (C) 2013, ARM Ltd Copyright (C) 2017, AMD Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file VirtioMmioDevice.h.
#define VIRTIO_CFG_READ | ( | Device, | |
Offset | |||
) | (MmioRead32 (Device->BaseAddress + (Offset))) |
Definition at line 42 of file VirtioMmioDevice.h.
#define VIRTIO_CFG_WRITE | ( | Device, | |
Offset, | |||
Val | |||
) | (MmioWrite32 (Device->BaseAddress + (Offset), Val)) |
Definition at line 40 of file VirtioMmioDevice.h.
#define VIRTIO_MMIO_DEVICE_FROM_VIRTIO_DEVICE | ( | Device | ) | CR (Device, VIRTIO_MMIO_DEVICE, VirtioDevice, VIRTIO_MMIO_DEVICE_SIGNATURE) |
Definition at line 37 of file VirtioMmioDevice.h.
#define VIRTIO_MMIO_DEVICE_SIGNATURE SIGNATURE_32 ('V', 'M', 'I', 'O') |
Definition at line 25 of file VirtioMmioDevice.h.
#define VIRTIO_MMIO_DEVICE_VERSION_0_95 1 |
Definition at line 26 of file VirtioMmioDevice.h.
#define VIRTIO_MMIO_DEVICE_VERSION_1_00 2 |
Definition at line 27 of file VirtioMmioDevice.h.
EFI_STATUS EFIAPI VirtioMmioAllocateSharedPages | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINTN | NumPages, | ||
OUT VOID ** | HostAddress | ||
) |
Definition at line 385 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioDeviceRead | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINTN | FieldOFfset, | ||
IN UINTN | FieldSize, | ||
IN UINTN | BufferSize, | ||
OUT VOID * | Buffer | ||
) |
Definition at line 341 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioDeviceWrite | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINTN | FieldOffset, | ||
IN UINTN | FieldSize, | ||
IN UINT64 | Value | ||
) |
Definition at line 303 of file VirtioMmioDeviceFunctions.c.
VOID EFIAPI VirtioMmioFreeSharedPages | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINTN | NumPages, | ||
IN VOID * | HostAddress | ||
) |
Definition at line 404 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioGetDeviceFeatures | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
OUT UINT64 * | DeviceFeatures | ||
) |
Definition at line 17 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioGetDeviceStatus | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
OUT UINT8 * | DeviceStatus | ||
) |
Definition at line 66 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioGetQueueSize | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
OUT UINT16 * | QueueNumMax | ||
) |
Definition at line 46 of file VirtioMmioDeviceFunctions.c.
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 | ||
) |
Definition at line 415 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioSetDeviceStatus | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINT8 | DeviceStatus | ||
) |
Definition at line 106 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioSetGuestFeatures | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINT64 | Features | ||
) |
Definition at line 264 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioSetPageSize | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINT32 | PageSize | ||
) |
Definition at line 156 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioSetQueueAddress | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN VRING * | Ring, | ||
IN UINT64 | RingBaseShift | ||
) |
Definition at line 198 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioSetQueueAlignment | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINT32 | Alignment | ||
) |
Definition at line 138 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioSetQueueNotify | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINT16 | QueueNotify | ||
) |
Definition at line 122 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioSetQueueSel | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINT16 | Sel | ||
) |
Definition at line 178 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioSetQueueSize | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN UINT16 | QueueSize | ||
) |
Definition at line 86 of file VirtioMmioDeviceFunctions.c.
EFI_STATUS EFIAPI VirtioMmioUnmapSharedBuffer | ( | IN VIRTIO_DEVICE_PROTOCOL * | This, |
IN VOID * | Mapping | ||
) |
Definition at line 432 of file VirtioMmioDeviceFunctions.c.