• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2   Sample to provide SecTemporaryRamDone function.
3 
4   Copyright (c) 2014 - 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 
17 #include <Library/DebugLib.h>
18 #include <Library/PcdLib.h>
19 #include <Library/FspWrapperApiLib.h>
20 #include <Library/FspWrapperPlatformLib.h>
21 #include <Guid/FspHeaderFile.h>
22 
23 /**
24 This interface disables temporary memory in SEC Phase.
25 **/
26 VOID
27 EFIAPI
SecPlatformDisableTemporaryMemory(VOID)28 SecPlatformDisableTemporaryMemory (
29   VOID
30   )
31 {
32   EFI_STATUS                Status;
33   VOID                      *TempRamExitParam;
34   FSP_INFO_HEADER           *FspHeader;
35 
36   FspHeader = FspFindFspHeader (PcdGet32(PcdFspmBaseAddress));
37   if (FspHeader == NULL) {
38     return ;
39   }
40 
41   DEBUG((DEBUG_INFO, "SecPlatformDisableTemporaryMemory enter\n"));
42 
43   TempRamExitParam = UpdateTempRamExitParam ();
44   Status = CallTempRamExit (TempRamExitParam);
45   DEBUG((DEBUG_INFO, "TempRamExit status: 0x%x\n", Status));
46   ASSERT_EFI_ERROR(Status);
47 
48   return ;
49 }
50