]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Sec/SecMain.h
1a4ed40bf70547634605c3912ea92e277b0d480b
[mirror_edk2.git] / OvmfPkg / Sec / SecMain.h
1 /** @file
2 Header file for SEC code
3
4 Copyright (c) 2008 - 2009, Intel Corporation
5
6 All rights reserved. This program and the accompanying materials
7 are 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 _PLATFORM_SECMAIN_H_
17 #define _PLATFORM_SECMAIN_H_
18
19 VOID
20 EFIAPI
21 PeiSwitchStacks (
22 IN SWITCH_STACK_ENTRY_POINT EntryPoint,
23 IN VOID *Context1, OPTIONAL
24 IN VOID *Context2, OPTIONAL
25 IN VOID *Context3, OPTIONAL
26 IN VOID *OldTopOfStack,
27 IN VOID *NewStack
28 );
29
30 VOID
31 EFIAPI
32 SecSwitchStack (
33 IN UINTN TemporaryMemoryBase,
34 IN UINTN PermanentMemoryBase,
35 IN UINTN CopySize
36 );
37
38 EFI_STATUS
39 EFIAPI
40 TemporaryRamMigration (
41 IN CONST EFI_PEI_SERVICES **PeiServices,
42 IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase,
43 IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase,
44 IN UINTN CopySize
45 );
46
47 VOID
48 EFIAPI
49 FindPeiCoreEntryPoint (
50 IN EFI_FIRMWARE_VOLUME_HEADER **BootFirmwareVolumePtr,
51 OUT VOID **PeiCoreEntryPoint
52 );
53
54 #define INITIAL_TOP_OF_STACK BASE_512KB
55
56 #endif // _PLATFORM_SECMAIN_H_
57