Home | History | Annotate | Download | only in Library
      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