Home | History | Annotate | Download | only in PeiFspWrapperApiTestLib
      1 /** @file
      2   Provide FSP wrapper API test related function.
      3 
      4   Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php.
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #include <PiPei.h>
     16 #include <Library/BaseMemoryLib.h>
     17 #include <Library/DebugLib.h>
     18 #include <Library/HobLib.h>
     19 #include <Guid/GuidHobFspEas.h>
     20 
     21 /**
     22   Test the output of FSP API - FspMemoryInit.
     23 
     24   @param[in]  FspmUpdDataPtr Address pointer to the FSP_MEMORY_INIT_PARAMS structure.
     25   @param[in]  HobListPtr     Address of the HobList pointer.
     26 
     27   @return test result on output of FspMemoryInit API.
     28 **/
     29 EFI_STATUS
     30 EFIAPI
     31 TestFspMemoryInitApiOutput (
     32   IN  VOID        *FspmUpdDataPtr,
     33   IN  VOID        **HobListPtr
     34   )
     35 {
     36   DEBUG_CODE_BEGIN ();
     37   EFI_PEI_HOB_POINTERS        Hob;
     38 
     39   Hob.Raw = (UINT8 *)(*(HobListPtr));
     40   while (TRUE) {
     41     if (END_OF_HOB_LIST(Hob) == TRUE) {
     42       DEBUG((DEBUG_INFO, "gFspBootLoaderTolumHobGuid not Found\n"));
     43       break;
     44     }
     45     if ((CompareGuid (&Hob.ResourceDescriptor->Owner, &gFspBootLoaderTolumHobGuid))) {
     46       DEBUG ((DEBUG_INFO, "gFspBootLoaderTolumHobGuid Found\n"));
     47       DEBUG ((DEBUG_INFO, "Fill Boot Loader reserved memory range with 0x5A for testing purpose\n"));
     48       SetMem ((VOID *)(UINTN)Hob.ResourceDescriptor->PhysicalStart, (UINTN)Hob.ResourceDescriptor->ResourceLength, 0x5A);
     49       break;
     50     }
     51     Hob.Raw = GET_NEXT_HOB (Hob);
     52   }
     53   DEBUG_CODE_END ();
     54 
     55   return RETURN_SUCCESS;
     56 }
     57 
     58 /**
     59   Test the output of FSP API - TempRamExit.
     60 
     61   @param[in] TempRamExitParam    Address pointer to the TempRamExit parameters structure.
     62 
     63   @return test result on output of TempRamExit API.
     64 **/
     65 EFI_STATUS
     66 EFIAPI
     67 TestFspTempRamExitApiOutput (
     68   IN VOID         *TempRamExitParam
     69   )
     70 {
     71   return RETURN_SUCCESS;
     72 }
     73 
     74 /**
     75   Test the output of FSP API - FspSiliconInit.
     76 
     77   @param[in] FspsUpdDataPtr Address pointer to the Silicon Init parameters structure.
     78 
     79   @return test result on output of FspSiliconInit API.
     80 **/
     81 EFI_STATUS
     82 EFIAPI
     83 TestFspSiliconInitApiOutput (
     84   IN  VOID        *FspsUpdDataPtr
     85   )
     86 {
     87   return RETURN_SUCCESS;
     88 }
     89