TianoCore EDK2 master
Loading...
Searching...
No Matches
VirtioMmioDeviceFunctions.c File Reference
#include "VirtioMmioDevice.h"

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI VirtioMmioGetDeviceFeatures (IN VIRTIO_DEVICE_PROTOCOL *This, OUT UINT64 *DeviceFeatures)
 
EFI_STATUS EFIAPI VirtioMmioGetQueueSize (IN VIRTIO_DEVICE_PROTOCOL *This, OUT UINT16 *QueueNumMax)
 
EFI_STATUS EFIAPI VirtioMmioGetDeviceStatus (IN VIRTIO_DEVICE_PROTOCOL *This, OUT UINT8 *DeviceStatus)
 
EFI_STATUS EFIAPI VirtioMmioSetQueueSize (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINT16 QueueSize)
 
EFI_STATUS EFIAPI VirtioMmioSetDeviceStatus (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINT8 DeviceStatus)
 
EFI_STATUS EFIAPI VirtioMmioSetQueueNotify (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINT16 QueueNotify)
 
EFI_STATUS EFIAPI VirtioMmioSetQueueAlignment (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINT32 Alignment)
 
EFI_STATUS EFIAPI VirtioMmioSetPageSize (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINT32 PageSize)
 
EFI_STATUS EFIAPI VirtioMmioSetQueueSel (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINT16 Sel)
 
EFI_STATUS EFIAPI VirtioMmioSetQueueAddress (IN VIRTIO_DEVICE_PROTOCOL *This, IN VRING *Ring, IN UINT64 RingBaseShift)
 
EFI_STATUS EFIAPI VirtioMmioSetGuestFeatures (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINT64 Features)
 
EFI_STATUS EFIAPI VirtioMmioDeviceWrite (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINTN FieldOffset, IN UINTN FieldSize, IN UINT64 Value)
 
EFI_STATUS EFIAPI VirtioMmioDeviceRead (IN VIRTIO_DEVICE_PROTOCOL *This, IN UINTN FieldOffset, IN UINTN FieldSize, IN UINTN BufferSize, OUT VOID *Buffer)
 
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)
 

Detailed Description

This driver produces Virtio Device Protocol instances for Virtio MMIO devices.

Copyright (C) 2012, Red Hat, Inc. Copyright (c) 2012, Intel Corporation. All rights reserved.
Copyright (C) 2013, ARM Ltd.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file VirtioMmioDeviceFunctions.c.

Function Documentation

◆ VirtioMmioAllocateSharedPages()

EFI_STATUS EFIAPI VirtioMmioAllocateSharedPages ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINTN  NumPages,
OUT VOID **  HostAddress 
)

Definition at line 385 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioDeviceRead()

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.

◆ VirtioMmioDeviceWrite()

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.

◆ VirtioMmioFreeSharedPages()

VOID EFIAPI VirtioMmioFreeSharedPages ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINTN  NumPages,
IN VOID *  HostAddress 
)

Definition at line 404 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioGetDeviceFeatures()

EFI_STATUS EFIAPI VirtioMmioGetDeviceFeatures ( IN VIRTIO_DEVICE_PROTOCOL This,
OUT UINT64 *  DeviceFeatures 
)

Definition at line 17 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioGetDeviceStatus()

EFI_STATUS EFIAPI VirtioMmioGetDeviceStatus ( IN VIRTIO_DEVICE_PROTOCOL This,
OUT UINT8 *  DeviceStatus 
)

Definition at line 66 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioGetQueueSize()

EFI_STATUS EFIAPI VirtioMmioGetQueueSize ( IN VIRTIO_DEVICE_PROTOCOL This,
OUT UINT16 *  QueueNumMax 
)

Definition at line 46 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioMapSharedBuffer()

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.

◆ VirtioMmioSetDeviceStatus()

EFI_STATUS EFIAPI VirtioMmioSetDeviceStatus ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINT8  DeviceStatus 
)

Definition at line 106 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioSetGuestFeatures()

EFI_STATUS EFIAPI VirtioMmioSetGuestFeatures ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINT64  Features 
)

Definition at line 264 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioSetPageSize()

EFI_STATUS EFIAPI VirtioMmioSetPageSize ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINT32  PageSize 
)

Definition at line 156 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioSetQueueAddress()

EFI_STATUS EFIAPI VirtioMmioSetQueueAddress ( IN VIRTIO_DEVICE_PROTOCOL This,
IN VRING Ring,
IN UINT64  RingBaseShift 
)

Definition at line 198 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioSetQueueAlignment()

EFI_STATUS EFIAPI VirtioMmioSetQueueAlignment ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINT32  Alignment 
)

Definition at line 138 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioSetQueueNotify()

EFI_STATUS EFIAPI VirtioMmioSetQueueNotify ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINT16  QueueNotify 
)

Definition at line 122 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioSetQueueSel()

EFI_STATUS EFIAPI VirtioMmioSetQueueSel ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINT16  Sel 
)

Definition at line 178 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioSetQueueSize()

EFI_STATUS EFIAPI VirtioMmioSetQueueSize ( IN VIRTIO_DEVICE_PROTOCOL This,
IN UINT16  QueueSize 
)

Definition at line 86 of file VirtioMmioDeviceFunctions.c.

◆ VirtioMmioUnmapSharedBuffer()

EFI_STATUS EFIAPI VirtioMmioUnmapSharedBuffer ( IN VIRTIO_DEVICE_PROTOCOL This,
IN VOID *  Mapping 
)

Definition at line 432 of file VirtioMmioDeviceFunctions.c.