OvmfPkg/MemEncryptSevLib: find pages of initial SMRAM save state map
[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 * This program and the accompanying materials are
7 * licensed and made available under the terms and conditions of the BSD License
8 * which accompanies this distribution. The full text of the license may be found at
9 * http://opensource.org/licenses/bsd-license.php
10 *
11 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 *
14 **/
15
16 #ifndef _XENIO_MMIO_DEVICE_LIB_H_
17 #define _XENIO_MMIO_DEVICE_LIB_H_
18
19 /**
20
21 Install the XENBUS_ROOT_DEVICE_PATH and XENIO_PROTOCOL protocols on
22 the handle pointed to by @Handle, or on a new handle if it points to
23 NULL
24
25 @param Handle Pointer to the handle to install the protocols
26 on, may point to a NULL handle.
27
28 @param GrantTableAddress The address of the Xen grant table
29
30 @retval EFI_SUCCESS Protocols were installed successfully
31
32 @retval EFI_OUT_OF_RESOURCES The function failed to allocate memory required
33 by the XenIo MMIO and device path protocols
34
35 @return Status code returned by the boot service
36 InstallMultipleProtocolInterfaces ()
37
38 **/
39 EFI_STATUS
40 XenIoMmioInstall (
41 IN OUT EFI_HANDLE *Handle,
42 IN EFI_PHYSICAL_ADDRESS GrantTableAddress
43 );
44
45
46 /**
47
48 Uninstall the XENBUS_ROOT_DEVICE_PATH and XENIO_PROTOCOL protocols
49
50 @param Handle Handle onto which the protocols have been installed
51 earlier by XenIoMmioInstall ()
52
53 @retval EFI_SUCCESS Protocols were uninstalled successfully
54
55 @return Status code returned by the boot service
56 UninstallMultipleProtocolInterfaces ()
57
58 **/
59 EFI_STATUS
60 XenIoMmioUninstall (
61 IN EFI_HANDLE Handle
62 );
63
64 #endif