| /** @file | |
| * Manage XenBus device path and I/O handles | |
| * | |
| * Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR> | |
| * | |
| * This program and the accompanying materials are | |
| * licensed and made available under the terms and conditions of the BSD License | |
| * which accompanies this distribution. The full text of the license may be found at | |
| * http://opensource.org/licenses/bsd-license.php | |
| * | |
| * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| * | |
| **/ | |
| #ifndef _XENIO_MMIO_DEVICE_LIB_H_ | |
| #define _XENIO_MMIO_DEVICE_LIB_H_ | |
| /** | |
| Install the XENBUS_ROOT_DEVICE_PATH and XENIO_PROTOCOL protocols on | |
| the handle pointed to by @Handle, or on a new handle if it points to | |
| NULL | |
| @param Handle Pointer to the handle to install the protocols | |
| on, may point to a NULL handle. | |
| @param GrantTableAddress The address of the Xen grant table | |
| @retval EFI_SUCCESS Protocols were installed successfully | |
| @retval EFI_OUT_OF_RESOURCES The function failed to allocate memory required | |
| by the XenIo MMIO and device path protocols | |
| @return Status code returned by the boot service | |
| InstallMultipleProtocolInterfaces () | |
| **/ | |
| EFI_STATUS | |
| XenIoMmioInstall ( | |
| IN OUT EFI_HANDLE *Handle, | |
| IN EFI_PHYSICAL_ADDRESS GrantTableAddress | |
| ); | |
| /** | |
| Uninstall the XENBUS_ROOT_DEVICE_PATH and XENIO_PROTOCOL protocols | |
| @param Handle Handle onto which the protocols have been installed | |
| earlier by XenIoMmioInstall () | |
| @retval EFI_SUCCESS Protocols were uninstalled successfully | |
| @return Status code returned by the boot service | |
| UninstallMultipleProtocolInterfaces () | |
| **/ | |
| EFI_STATUS | |
| XenIoMmioUninstall ( | |
| IN EFI_HANDLE Handle | |
| ); | |
| #endif |