Home | History | Annotate | Download | only in Library
      1 /** @file
      2 
      3   Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
      4   This program and the accompanying materials
      5   are licensed and made available under the terms and conditions of the BSD License
      6   which accompanies this distribution.  The full text of the license may be found at
      7   http://opensource.org/licenses/bsd-license.php.
      8 
      9   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     10   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     11 
     12 **/
     13 
     14 #ifndef _FSP_PLATFORM_LIB_H_
     15 #define _FSP_PLATFORM_LIB_H_
     16 
     17 /**
     18   Get system memory resource descriptor by owner.
     19 
     20   @param[in] OwnerGuid   resource owner guid
     21 **/
     22 EFI_HOB_RESOURCE_DESCRIPTOR *
     23 EFIAPI
     24 FspGetResourceDescriptorByOwner (
     25   IN EFI_GUID   *OwnerGuid
     26   );
     27 
     28 /**
     29   Get system memory from HOB.
     30 
     31   @param[in,out] LowMemoryLength   less than 4G memory length
     32   @param[in,out] HighMemoryLength  greater than 4G memory length
     33 **/
     34 VOID
     35 EFIAPI
     36 FspGetSystemMemorySize (
     37   IN OUT UINT64              *LowMemoryLength,
     38   IN OUT UINT64              *HighMemoryLength
     39   );
     40 
     41 
     42 /**
     43   Set a new stack frame for the continuation function.
     44 
     45 **/
     46 VOID
     47 EFIAPI
     48 FspSetNewStackFrame (
     49   VOID
     50   );
     51 
     52 /**
     53   This function transfer control back to BootLoader after FspSiliconInit.
     54 
     55 **/
     56 VOID
     57 EFIAPI
     58 FspSiliconInitDone (
     59   VOID
     60   );
     61 
     62 /**
     63   This function returns control to BootLoader after MemoryInitApi.
     64 
     65   @param[in,out] HobListPtr The address of HobList pointer.
     66 **/
     67 VOID
     68 EFIAPI
     69 FspMemoryInitDone (
     70   IN OUT VOID   **HobListPtr
     71   );
     72 
     73 /**
     74   This function returns control to BootLoader after TempRamExitApi.
     75 
     76 **/
     77 VOID
     78 EFIAPI
     79 FspTempRamExitDone (
     80   VOID
     81   );
     82 
     83 /**
     84   This function handle NotifyPhase API call from the BootLoader.
     85   It gives control back to the BootLoader after it is handled. If the
     86   Notification code is a ReadyToBoot event, this function will return
     87   and FSP continues the remaining execution until it reaches the DxeIpl.
     88 
     89 **/
     90 VOID
     91 EFIAPI
     92 FspWaitForNotify (
     93   VOID
     94   );
     95 
     96 /**
     97   This function transfer control back to BootLoader after FspSiliconInit.
     98 
     99   @param[in] Status return status for the FspSiliconInit.
    100 **/
    101 VOID
    102 EFIAPI
    103 FspSiliconInitDone2 (
    104   IN EFI_STATUS Status
    105   );
    106 
    107 /**
    108   This function returns control to BootLoader after MemoryInitApi.
    109 
    110   @param[in] Status return status for the MemoryInitApi.
    111   @param[in,out] HobListPtr The address of HobList pointer.
    112 **/
    113 VOID
    114 EFIAPI
    115 FspMemoryInitDone2 (
    116   IN EFI_STATUS Status,
    117   IN OUT VOID   **HobListPtr
    118   );
    119 
    120 /**
    121   This function returns control to BootLoader after TempRamExitApi.
    122 
    123   @param[in] Status return status for the TempRamExitApi.
    124 **/
    125 VOID
    126 EFIAPI
    127 FspTempRamExitDone2 (
    128   IN EFI_STATUS Status
    129   );
    130 
    131 #endif
    132