]> git.proxmox.com Git - mirror_edk2.git/blob - InOsEmuPkg/Include/Library/EmuMagicPageLib.h
Clarify the requirements for the Destination parameter of UnicodeStrToAsciiStr.
[mirror_edk2.git] / InOsEmuPkg / Include / Library / EmuMagicPageLib.h
1 /*++ @file
2 The PCD, gInOsEmuPkgTokenSpaceGuid.PcdPeiServicesTablePage, points to a magic page
3 of memory that is like SRAM on an embedded system. This file defines what goes
4 where in the magic page.
5
6 Copyright (c) 2011, Apple Inc. All rights reserved.<BR>
7 This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
11
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14
15 **/
16
17 #ifndef __EMU_MAGIC_PAGE_LIB_H__
18 #define __EMU_MAGIC_PAGE_LIB_H__
19
20 #include <PiPei.h>
21 #include <Library/PcdLib.h>
22 #include <Protocol/EmuThunk.h>
23
24 typedef struct {
25 // Used by PEI Core and PEIMs to store the PEI Services pointer.
26 // Privilege issues prevent using the PI mechanism in the emulator.
27 CONST EFI_PEI_SERVICES **PeiServicesTablePointer;
28
29 // Used by SecPeiServicesLib
30 EFI_PEI_PPI_DESCRIPTOR *PpiList;
31
32 // Needed by PEI PEI PeCoffLoaderExtraActionLib
33 EMU_THUNK_PROTOCOL *Thunk;
34 } EMU_MAGIC_PAGE_LAYOUT;
35
36 #define EMU_MAGIC_PAGE() ((EMU_MAGIC_PAGE_LAYOUT *)((UINTN)PcdGet64 (PcdPeiServicesTablePage)))
37
38 #endif