]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Include/Library/XenIoMmioLib.h
OvmfPkg: Introduce PciHostBridgeUtilityLib class
[mirror_edk2.git] / OvmfPkg / Include / Library / XenIoMmioLib.h
1 /** @file
2 * Manage XenBus device path and I/O handles
3 *
4 * Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
5 *
6 * SPDX-License-Identifier: BSD-2-Clause-Patent
7 *
8 **/
9
10 #ifndef _XENIO_MMIO_DEVICE_LIB_H_
11 #define _XENIO_MMIO_DEVICE_LIB_H_
12
13 /**
14
15 Install the XENBUS_ROOT_DEVICE_PATH and XENIO_PROTOCOL protocols on
16 the handle pointed to by @Handle, or on a new handle if it points to
17 NULL
18
19 @param Handle Pointer to the handle to install the protocols
20 on, may point to a NULL handle.
21
22 @param GrantTableAddress The address of the Xen grant table
23
24 @retval EFI_SUCCESS Protocols were installed successfully
25
26 @retval EFI_OUT_OF_RESOURCES The function failed to allocate memory required
27 by the XenIo MMIO and device path protocols
28
29 @return Status code returned by the boot service
30 InstallMultipleProtocolInterfaces ()
31
32 **/
33 EFI_STATUS
34 XenIoMmioInstall (
35 IN OUT EFI_HANDLE *Handle,
36 IN EFI_PHYSICAL_ADDRESS GrantTableAddress
37 );
38
39
40 /**
41
42 Uninstall the XENBUS_ROOT_DEVICE_PATH and XENIO_PROTOCOL protocols
43
44 @param Handle Handle onto which the protocols have been installed
45 earlier by XenIoMmioInstall ()
46
47 @retval EFI_SUCCESS Protocols were uninstalled successfully
48
49 @return Status code returned by the boot service
50 UninstallMultipleProtocolInterfaces ()
51
52 **/
53 EFI_STATUS
54 XenIoMmioUninstall (
55 IN EFI_HANDLE Handle
56 );
57
58 #endif