• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2 
3   Definitions for the VirtIo MMIO Device Library
4 
5   Copyright (C) 2013, ARM Ltd
6 
7   This program and the accompanying materials are licensed and made available
8   under the terms and conditions of the BSD License which accompanies this
9   distribution. The full text of the license may be found at
10   http://opensource.org/licenses/bsd-license.php
11 
12   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
13   WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 
15 **/
16 
17 #ifndef _VIRTIO_MMIO_DEVICE_LIB_H_
18 #define _VIRTIO_MMIO_DEVICE_LIB_H_
19 
20 /**
21 
22   Initialize VirtIo Device and Install VIRTIO_DEVICE_PROTOCOL protocol
23 
24   @param[in] BaseAddress  Base Address of the VirtIo MMIO Device
25 
26   @param[in] Handle       Handle of the device the driver should be attached
27                           to.
28 
29   @retval EFI_SUCCESS           The VirtIo Device has been installed
30                                 successfully.
31 
32   @retval EFI_OUT_OF_RESOURCES  The function failed to allocate memory required
33                                 by the Virtio MMIO device initialization.
34 
35   @retval EFI_UNSUPPORTED       BaseAddress does not point to a VirtIo MMIO
36                                 device.
37 
38   @return                       Status code returned by InstallProtocolInterface
39                                 Boot Service function.
40 
41 **/
42 EFI_STATUS
43 VirtioMmioInstallDevice (
44   IN PHYSICAL_ADDRESS       BaseAddress,
45   IN EFI_HANDLE             Handle
46   );
47 
48 /**
49 
50   Uninstall the VirtIo Device
51 
52   @param[in] Handle       Handle of the device where the VirtIo Device protocol
53                           should have been installed.
54 
55   @retval EFI_SUCCESS     The device has been un-initialized successfully.
56 
57   @return                 Status code returned by UninstallProtocolInterface
58                           Boot Service function.
59 
60 **/
61 EFI_STATUS
62 VirtioMmioUninstallDevice (
63   IN EFI_HANDLE             Handle
64   );
65 
66 #endif // _VIRTIO_MMIO_DEVICE_LIB_H_
67