]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Include/Library/XenIoMmioLib.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[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 Uninstall the XENBUS_ROOT_DEVICE_PATH and XENIO_PROTOCOL protocols
42
43 @param Handle Handle onto which the protocols have been installed
44 earlier by XenIoMmioInstall ()
45
46 @retval EFI_SUCCESS Protocols were uninstalled successfully
47
48 @return Status code returned by the boot service
49 UninstallMultipleProtocolInterfaces ()
50
51 **/
52 EFI_STATUS
53 XenIoMmioUninstall (
54 IN EFI_HANDLE Handle
55 );
56
57 #endif