• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
65