Removed CommonHeader.h from NT32Pkg. Did not fix BDS as it will get re-written
[mirror_edk2.git] / Nt32Pkg / Library / EdkGenericBdsLib / EdkGenericBdsLibInternal.h
CommitLineData
f2569572
A
1/**@file\r
2 Common header file shared by all source files.\r
3\r
4 This file includes package header files, library classes and protocol, PPI & GUID definitions.\r
5\r
6 Copyright (c) 2006 - 2007, Intel Corporation.\r
7 All rights reserved. This program and the accompanying materials\r
8 are licensed and made available under the terms and conditions of the BSD License\r
9 which accompanies this distribution. The full text of the license may be found at\r
10 http://opensource.org/licenses/bsd-license.php\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13**/\r
14\r
15#ifndef __EDK_GENERIC_BDS_LIB_INTERNAL_H_\r
16#define __EDK_GENERIC_BDS_LIB_INTERNAL_H_\r
17\r
18\r
19//\r
20// The package level header files this module uses\r
21//\r
22#include <PiDxe.h>\r
23#include <WinNtDxe.h>\r
24//\r
25// The protocols, PPI and GUID defintions for this module\r
26//\r
27#include <Protocol/Cpu.h>\r
28#include <Protocol/SimpleTextIn.h>\r
29#include <Protocol/SimpleTextOut.h>\r
30#include <Protocol/LoadedImage.h>\r
31#include <Guid/GenericPlatformVariable.h>\r
32#include <Guid/ShellFile.h>\r
33#include <Protocol/SimpleFileSystem.h>\r
34#include <Protocol/BlockIo.h>\r
35#include <Protocol/SimpleNetwork.h>\r
36#include <Protocol/AcpiS3Save.h>\r
37#include <Guid/GlobalVariable.h>\r
38#include <Protocol/FormBrowserFramework.h>\r
39#include <Protocol/LegacyBios.h>\r
40#include <Protocol/DriverBinding.h>\r
41#include <Protocol/LoadFile.h>\r
42#include <Protocol/DevicePath.h>\r
43#include <Protocol/FirmwareVolume.h>\r
44#include <Protocol/Performance.h>\r
45#include <Protocol/WinNtIo.h>\r
46#include <Guid/PcAnsi.h>\r
47\r
48//\r
49// The Library classes this module consumes\r
50//\r
51#include <Library/EdkGenericBdsLib.h>\r
52#include <Library/BaseLib.h>\r
53#include <Library/UefiLib.h>\r
54#include <Library/DxeServicesTableLib.h>\r
55#include <Library/DebugLib.h>\r
56#include <Library/PrintLib.h>\r
57#include <Library/HobLib.h>\r
58#include <Library/BaseMemoryLib.h>\r
59#include <Library/MemoryAllocationLib.h>\r
60#include <Library/UefiBootServicesTableLib.h>\r
61#include <Library/UefiRuntimeServicesTableLib.h>\r
62#include <Library/DevicePathLib.h>\r
63#include <Library/PerformanceLib.h>\r
64#include <Library/PeCoffLib.h>\r
65\r
66#define PERF_TOKEN_LENGTH 28\r
67#define PERF_PEI_ENTRY_MAX_NUM 50\r
68\r
69typedef struct {\r
70 CHAR8 Token[PERF_TOKEN_LENGTH];\r
71 UINT32 Duration;\r
72} PERF_DATA;\r
73\r
74typedef struct {\r
75 UINT64 BootToOs;\r
76 UINT64 S3Resume;\r
77 UINT32 S3EntryNum;\r
78 PERF_DATA S3Entry[PERF_PEI_ENTRY_MAX_NUM];\r
79 UINT64 CpuFreq;\r
80 UINT64 BDSRaw;\r
81 UINT32 Count;\r
82 UINT32 Signiture;\r
83} PERF_HEADER;\r
84\r
85VOID\r
86WriteBootToOsPerformanceData (\r
87 VOID\r
88 );\r
89\r
90VOID\r
91ClearDebugRegisters (\r
92 VOID\r
93 );\r
94\r
95\r
96#endif\r