Home | History | Annotate | Download | only in PlatformIntelBdsLib
      1 /** @file
      2   Head file for BDS Platform specific code
      3 
      4   Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
      5   Copyright (c) 2015, Hisilicon Limited. All rights reserved.<BR>
      6   Copyright (c) 2015, Linaro Limited. All rights reserved.<BR>
      7 
      8   This program and the accompanying materials are licensed and made available
      9   under the terms and conditions of the BSD License which accompanies this
     10   distribution. The full text of the license may be found at
     11   http://opensource.org/licenses/bsd-license.php
     12 
     13   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT
     14   WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     15 
     16   Based on the files under ArmVirtPkg/Library/PlatformIntelBdsLib/
     17 
     18 **/
     19 
     20 #ifndef _INTEL_BDS_PLATFORM_H_
     21 #define _INTEL_BDS_PLATFORM_H_
     22 
     23 #include <Library/BaseLib.h>
     24 #include <Library/BaseMemoryLib.h>
     25 #include <Library/DebugLib.h>
     26 #include <Library/DevicePathLib.h>
     27 #include <Library/MemoryAllocationLib.h>
     28 #include <Library/UefiBootServicesTableLib.h>
     29 #include <Library/UefiRuntimeServicesTableLib.h>
     30 
     31 #include "IntelBdsPlatformCommon.h"
     32 
     33 VOID
     34 PlatformBdsEnterFrontPage (
     35   IN UINT16                 TimeoutDefault,
     36   IN BOOLEAN                ConnectAllHappened
     37   );
     38 
     39 /**
     40   Download the kernel, the initial ramdisk, and the kernel command line from
     41   QEMU's fw_cfg. Construct a minimal SimpleFileSystem that contains the two
     42   image files, and load and start the kernel from it.
     43 
     44   The kernel will be instructed via its command line to load the initrd from
     45   the same Simple FileSystem.
     46 
     47   @retval EFI_NOT_FOUND         Kernel image was not found.
     48   @retval EFI_OUT_OF_RESOURCES  Memory allocation failed.
     49   @retval EFI_PROTOCOL_ERROR    Unterminated kernel command line.
     50 
     51   @return                       Error codes from any of the underlying
     52                                 functions. On success, the function doesn't
     53                                 return.
     54 **/
     55 EFI_STATUS
     56 EFIAPI
     57 TryRunningQemuKernel (
     58   VOID
     59   );
     60 
     61 #endif // _INTEL_BDS_PLATFORM_H
     62