mirror of https://github.com/acidanthera/audk.git
Initialize the include folder for NT32Pkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2749 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
00b41832d5
commit
45a20a7fd8
|
@ -0,0 +1,71 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
WinNtLib.h
|
||||
|
||||
Abstract:
|
||||
Public include file for the WinNt Library
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __WIN_NT_INCLUDE_H__
|
||||
#define __WIN_NT_INCLUDE_H__
|
||||
|
||||
//
|
||||
// Win32 include files do not compile clean with /W4, so we use the warning
|
||||
// pragma to suppress the warnings for Win32 only. This way our code can stil
|
||||
// compile at /W4 (highest warning level) with /WX (warnings cause build
|
||||
// errors).
|
||||
//
|
||||
#pragma warning(disable : 4115)
|
||||
#pragma warning(disable : 4201)
|
||||
#pragma warning(disable : 4214)
|
||||
#pragma warning(disable : 4028)
|
||||
#pragma warning(disable : 4133)
|
||||
|
||||
#define GUID _WINNT_DUP_GUID_____
|
||||
#define _LIST_ENTRY _WINNT_DUP_LIST_ENTRY_FORWARD
|
||||
#define LIST_ENTRY _WINNT_DUP_LIST_ENTRY
|
||||
#define InterlockedIncrement _WINNT_DUP_InterlockedIncrement
|
||||
#define InterlockedDecrement _WINNT_DUP_InterlockedDecrement
|
||||
#define InterlockedCompareExchange64 _WINNT_DUP_InterlockedCompareExchange64
|
||||
#undef UNALIGNED
|
||||
#undef CONST
|
||||
#undef VOID
|
||||
|
||||
#include "windows.h"
|
||||
|
||||
#undef GUID
|
||||
#undef _LIST_ENTRY
|
||||
#undef LIST_ENTRY
|
||||
#undef InterlockedIncrement
|
||||
#undef InterlockedDecrement
|
||||
#undef InterlockedCompareExchange64
|
||||
#undef InterlockedCompareExchangePointer
|
||||
|
||||
#define VOID void
|
||||
|
||||
//
|
||||
// Prevent collisions with Windows API name macros that deal with Unicode/Not issues
|
||||
//
|
||||
#undef LoadImage
|
||||
#undef CreateEvent
|
||||
|
||||
//
|
||||
// Set the warnings back on as the EFI code must be /W4.
|
||||
//
|
||||
#pragma warning(default : 4115)
|
||||
#pragma warning(default : 4201)
|
||||
#pragma warning(default : 4214)
|
||||
|
||||
|
||||
#endif
|
|
@ -0,0 +1,64 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
FlashLayout.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Platform specific flash layout
|
||||
|
||||
BugBug: We need a better way
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __EFI_FLASH_LAYOUT__
|
||||
#define __EFI_FLASH_LAYOUT__
|
||||
|
||||
//
|
||||
// Firmware Volume Information for Nt32
|
||||
// adding one working block before FFS FV,
|
||||
// and another one for spare block behind FFS FV
|
||||
//
|
||||
//
|
||||
// Note: When block number is changed in .dsc file,
|
||||
// this value should be changed accordingly!!!
|
||||
//
|
||||
#define FIRMWARE_BLOCK_NUMBER 0x28
|
||||
|
||||
#define EFI_WINNT_FIRMWARE_OFFSET 0x0
|
||||
#define EFI_WINNT_FIRMWARE_LENGTH (0x10000 * FIRMWARE_BLOCK_NUMBER)
|
||||
|
||||
#define EFI_WINNT_RUNTIME_UPDATABLE_OFFSET (EFI_WINNT_FIRMWARE_OFFSET + EFI_WINNT_FIRMWARE_LENGTH)
|
||||
|
||||
#define EFI_WINNT_RUNTIME_UPDATABLE_LENGTH 0x10000
|
||||
|
||||
#define EFI_WINNT_FTW_SPARE_BLOCK_OFFSET (EFI_WINNT_RUNTIME_UPDATABLE_OFFSET + EFI_WINNT_RUNTIME_UPDATABLE_LENGTH)
|
||||
|
||||
#define EFI_WINNT_FTW_SPARE_BLOCK_LENGTH 0x10000
|
||||
|
||||
#define EFI_WINNT_RUNTIME_UPDATABLE_FV_HEADER_LENGTH 0x48
|
||||
|
||||
#define EFI_VARIABLE_STORE_OFFSET EFI_WINNT_RUNTIME_UPDATABLE_OFFSET
|
||||
|
||||
#define EFI_VARIABLE_STORE_LENGTH 0x00C000
|
||||
|
||||
#define EFI_EVENT_LOG_OFFSET (EFI_VARIABLE_STORE_OFFSET + EFI_VARIABLE_STORE_LENGTH)
|
||||
|
||||
#define EFI_EVENT_LOG_LENGTH 0x002000
|
||||
|
||||
#define EFI_FTW_WORKING_OFFSET (EFI_EVENT_LOG_OFFSET + EFI_EVENT_LOG_LENGTH)
|
||||
|
||||
#define EFI_FTW_WORKING_LENGTH 0x002000
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,395 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
BdsLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
BDS library definition, include the file and data structure
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _BDS_LIB_H_
|
||||
#define _BDS_LIB_H_
|
||||
|
||||
extern EFI_HANDLE mBdsImageHandle;
|
||||
|
||||
//
|
||||
// Constants which are variable names used to access variables
|
||||
//
|
||||
#define VarLegacyDevOrder L"LegacyDevOrder"
|
||||
|
||||
//
|
||||
// Data structures and defines
|
||||
//
|
||||
#define FRONT_PAGE_QUESTION_ID 0x0000
|
||||
#define FRONT_PAGE_DATA_WIDTH 0x01
|
||||
|
||||
//
|
||||
// ConnectType
|
||||
//
|
||||
#define CONSOLE_OUT 0x00000001
|
||||
#define STD_ERROR 0x00000002
|
||||
#define CONSOLE_IN 0x00000004
|
||||
#define CONSOLE_ALL (CONSOLE_OUT | CONSOLE_IN | STD_ERROR)
|
||||
|
||||
//
|
||||
// Load Option Attributes defined in EFI Specification
|
||||
//
|
||||
#define LOAD_OPTION_ACTIVE 0x00000001
|
||||
#define LOAD_OPTION_FORCE_RECONNECT 0x00000002
|
||||
#define IS_LOAD_OPTION_TYPE(_c, _Mask) (BOOLEAN) (((_c) & (_Mask)) != 0)
|
||||
|
||||
//
|
||||
// Define Maxmim characters that will be accepted
|
||||
//
|
||||
#define MAX_CHAR 480
|
||||
#define MAX_CHAR_SIZE (MAX_CHAR * 2)
|
||||
|
||||
#define MIN_ALIGNMENT_SIZE 4
|
||||
#define ALIGN_SIZE(a) ((a % MIN_ALIGNMENT_SIZE) ? MIN_ALIGNMENT_SIZE - (a % MIN_ALIGNMENT_SIZE) : 0)
|
||||
|
||||
//
|
||||
// Define maximum characters for boot option variable "BootXXXX"
|
||||
//
|
||||
#define BOOT_OPTION_MAX_CHAR 10
|
||||
|
||||
//
|
||||
// This data structure is the part of BDS_CONNECT_ENTRY that we can hard code.
|
||||
//
|
||||
#define BDS_LOAD_OPTION_SIGNATURE EFI_SIGNATURE_32 ('B', 'd', 'C', 'O')
|
||||
|
||||
typedef struct {
|
||||
|
||||
UINTN Signature;
|
||||
LIST_ENTRY Link;
|
||||
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
|
||||
CHAR16 *OptionName;
|
||||
UINTN OptionNumber;
|
||||
UINT16 BootCurrent;
|
||||
UINT32 Attribute;
|
||||
CHAR16 *Description;
|
||||
VOID *LoadOptions;
|
||||
UINT32 LoadOptionsSize;
|
||||
|
||||
} BDS_COMMON_OPTION;
|
||||
|
||||
typedef struct {
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
|
||||
UINTN ConnectType;
|
||||
} BDS_CONSOLE_CONNECT_ENTRY;
|
||||
|
||||
//
|
||||
// Lib Functions
|
||||
//
|
||||
|
||||
//
|
||||
// Bds boot relate lib functions
|
||||
//
|
||||
EFI_STATUS
|
||||
BdsLibUpdateBootOrderList (
|
||||
IN LIST_ENTRY *BdsOptionList,
|
||||
IN CHAR16 *VariableName
|
||||
);
|
||||
|
||||
VOID
|
||||
BdsLibBootNext (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibBootViaBootOption (
|
||||
IN BDS_COMMON_OPTION * Option,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL * DevicePath,
|
||||
OUT UINTN *ExitDataSize,
|
||||
OUT CHAR16 **ExitData OPTIONAL
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibEnumerateAllBootOption (
|
||||
IN OUT LIST_ENTRY *BdsBootOptionList
|
||||
);
|
||||
|
||||
VOID
|
||||
BdsLibBuildOptionFromHandle (
|
||||
IN EFI_HANDLE Handle,
|
||||
IN LIST_ENTRY *BdsBootOptionList
|
||||
);
|
||||
|
||||
VOID
|
||||
BdsLibBuildOptionFromShell (
|
||||
IN EFI_HANDLE Handle,
|
||||
IN LIST_ENTRY *BdsBootOptionList
|
||||
);
|
||||
|
||||
//
|
||||
// Bds misc lib functions
|
||||
//
|
||||
UINT16
|
||||
BdsLibGetTimeout (
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
BdsLibLoadDrivers (
|
||||
IN LIST_ENTRY *BdsDriverLists
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibBuildOptionFromVar (
|
||||
IN LIST_ENTRY *BdsCommonOptionList,
|
||||
IN CHAR16 *VariableName
|
||||
);
|
||||
|
||||
VOID *
|
||||
BdsLibGetVariableAndSize (
|
||||
IN CHAR16 *Name,
|
||||
IN EFI_GUID *VendorGuid,
|
||||
OUT UINTN *VariableSize
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibOutputStrings (
|
||||
IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *ConOut,
|
||||
...
|
||||
);
|
||||
|
||||
BDS_COMMON_OPTION *
|
||||
BdsLibVariableToOption (
|
||||
IN OUT LIST_ENTRY *BdsCommonOptionList,
|
||||
IN CHAR16 *VariableName
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibRegisterNewOption (
|
||||
IN LIST_ENTRY *BdsOptionList,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
|
||||
IN CHAR16 *String,
|
||||
IN CHAR16 *VariableName
|
||||
);
|
||||
|
||||
//
|
||||
// Bds connect or disconnect driver lib funcion
|
||||
//
|
||||
VOID
|
||||
BdsLibConnectAllDriversToAllControllers (
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
BdsLibConnectAll (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibConnectDevicePath (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePathToConnect
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibConnectAllEfi (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibDisconnectAllEfi (
|
||||
VOID
|
||||
);
|
||||
|
||||
//
|
||||
// Bds console relate lib functions
|
||||
//
|
||||
VOID
|
||||
BdsLibConnectAllConsoles (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibConnectAllDefaultConsoles (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibUpdateConsoleVariable (
|
||||
IN CHAR16 *ConVarName,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *CustomizedConDevicePath,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *ExclusiveDevicePath
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibConnectConsoleVariable (
|
||||
IN CHAR16 *ConVarName
|
||||
);
|
||||
|
||||
//
|
||||
// Bds device path relate lib functions
|
||||
//
|
||||
EFI_DEVICE_PATH_PROTOCOL *
|
||||
BdsLibUnpackDevicePath (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevPath
|
||||
);
|
||||
|
||||
VOID
|
||||
BdsLibSafeFreePool (
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
EFI_DEVICE_PATH_PROTOCOL *
|
||||
BdsLibDelPartMatchInstance (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *Multi,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *Single
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
BdsLibMatchDevicePaths (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *Multi,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *Single
|
||||
);
|
||||
|
||||
CHAR16 *
|
||||
DevicePathToStr (
|
||||
EFI_DEVICE_PATH_PROTOCOL *DevPath
|
||||
);
|
||||
|
||||
VOID *
|
||||
EfiLibGetVariable (
|
||||
IN CHAR16 *Name,
|
||||
IN EFI_GUID *VendorGuid
|
||||
);
|
||||
|
||||
//
|
||||
// Internal definitions
|
||||
//
|
||||
typedef struct {
|
||||
CHAR16 *str;
|
||||
UINTN len;
|
||||
UINTN maxlen;
|
||||
} POOL_PRINT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 Type;
|
||||
UINT8 SubType;
|
||||
VOID (*Function) (POOL_PRINT *, VOID *);
|
||||
} DEVICE_PATH_STRING_TABLE;
|
||||
|
||||
//
|
||||
// Internal functions
|
||||
//
|
||||
EFI_STATUS
|
||||
BdsBootByDiskSignatureAndPartition (
|
||||
IN BDS_COMMON_OPTION * Option,
|
||||
IN HARDDRIVE_DEVICE_PATH * HardDriveDevicePath,
|
||||
IN UINT32 LoadOptionsSize,
|
||||
IN VOID *LoadOptions,
|
||||
OUT UINTN *ExitDataSize,
|
||||
OUT CHAR16 **ExitData OPTIONAL
|
||||
);
|
||||
|
||||
//
|
||||
// Notes: EFI 64 shadow all option rom
|
||||
//
|
||||
#if defined (MDE_CPU_IPF)
|
||||
#define EFI64_SHADOW_ALL_LEGACY_ROM() ShadowAllOptionRom ();
|
||||
VOID
|
||||
ShadowAllOptionRom();
|
||||
#else
|
||||
#define EFI64_SHADOW_ALL_LEGACY_ROM()
|
||||
#endif
|
||||
|
||||
//
|
||||
// BBS support macros and functions
|
||||
//
|
||||
#if defined (MDE_CPU_IA32)
|
||||
#define REFRESH_LEGACY_BOOT_OPTIONS \
|
||||
BdsDeleteAllInvalidLegacyBootOptions ();\
|
||||
BdsAddNonExistingLegacyBootOptions (); \
|
||||
BdsUpdateLegacyDevOrder ()
|
||||
#else
|
||||
#define REFRESH_LEGACY_BOOT_OPTIONS
|
||||
#endif
|
||||
|
||||
EFI_STATUS
|
||||
BdsDeleteAllInvalidLegacyBootOptions (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsAddNonExistingLegacyBootOptions (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsUpdateLegacyDevOrder (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsRefreshBbsTableForBoot (
|
||||
IN BDS_COMMON_OPTION *Entry
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsDeleteBootOption (
|
||||
IN UINTN OptionNumber,
|
||||
IN OUT UINT16 *BootOrder,
|
||||
IN OUT UINTN *BootOrderSize
|
||||
);
|
||||
|
||||
//
|
||||
//The interface functions relate with Setup Browser Reset Reminder feature
|
||||
//
|
||||
VOID
|
||||
EnableResetReminderFeature (
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
DisableResetReminderFeature (
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
EnableResetRequired (
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
DisableResetRequired (
|
||||
VOID
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
IsResetReminderFeatureEnable (
|
||||
VOID
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
IsResetRequired (
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
SetupResetReminder (
|
||||
VOID
|
||||
);
|
||||
|
||||
EFI_STATUS
|
||||
BdsLibGetHiiHandles (
|
||||
IN EFI_HII_PROTOCOL *Hii,
|
||||
IN OUT UINT16 *HandleBufferLength,
|
||||
OUT EFI_HII_HANDLE **HiiHandles
|
||||
);
|
||||
|
||||
#endif // _BDS_LIB_H_
|
|
@ -0,0 +1,27 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
WinNtLib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Public include file for the WinNt Library
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __WIN_NT_LIB_H__
|
||||
#define __WIN_NT_LIB_H__
|
||||
|
||||
extern EFI_WIN_NT_THUNK_PROTOCOL *gWinNt;
|
||||
|
||||
#endif
|
|
@ -0,0 +1,66 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
NtAutoscan.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Nt Autoscan PPI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __NT_PEI_AUTOSCAN_H__
|
||||
#define __NT_PEI_AUTOSCAN_H__
|
||||
|
||||
#include <WinNtDxe.h>
|
||||
|
||||
#define PEI_NT_AUTOSCAN_PPI_GUID \
|
||||
{ \
|
||||
0xdce384d, 0x7c, 0x4ba5, {0x94, 0xbd, 0xf, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 } \
|
||||
}
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *PEI_NT_AUTOSCAN) (
|
||||
IN UINTN Index,
|
||||
OUT EFI_PHYSICAL_ADDRESS * MemoryBase,
|
||||
OUT UINT64 *MemorySize
|
||||
);
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
This service is called from Index == 0 until it returns EFI_UNSUPPORTED.
|
||||
It allows discontiguous memory regions to be supported by the emulator.
|
||||
It uses gSystemMemory[] and gSystemMemoryCount that were created by
|
||||
parsing the Windows environment variable EFI_MEMORY_SIZE.
|
||||
The size comes from the varaible and the address comes from the call to
|
||||
WinNtOpenFile.
|
||||
|
||||
Arguments:
|
||||
Index - Which memory region to use
|
||||
MemoryBase - Return Base address of memory region
|
||||
MemorySize - Return size in bytes of the memory region
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - If memory region was mapped
|
||||
EFI_UNSUPPORTED - If Index is not supported
|
||||
|
||||
--*/
|
||||
typedef struct {
|
||||
PEI_NT_AUTOSCAN NtAutoScan;
|
||||
} PEI_NT_AUTOSCAN_PPI;
|
||||
|
||||
extern EFI_GUID gPeiNtAutoScanPpiGuid;
|
||||
|
||||
#endif
|
|
@ -0,0 +1,62 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
NtFwh.h
|
||||
|
||||
Abstract:
|
||||
|
||||
WinNt FWH PPI as defined in Tiano
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __NT_PEI_FWH_H__
|
||||
#define __NT_PEI_FWH_H__
|
||||
|
||||
#include <WinNtDxe.h>
|
||||
|
||||
#define NT_FWH_PPI_GUID \
|
||||
{ \
|
||||
0x4e76928f, 0x50ad, 0x4334, {0xb0, 0x6b, 0xa8, 0x42, 0x13, 0x10, 0x8a, 0x57 } \
|
||||
}
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *NT_FWH_INFORMATION) (
|
||||
IN UINTN Index,
|
||||
IN OUT EFI_PHYSICAL_ADDRESS * FdBase,
|
||||
IN OUT UINT64 *FdSize
|
||||
);
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Return the FD Size and base address. Since the FD is loaded from a
|
||||
file into Windows memory only the SEC will know it's address.
|
||||
|
||||
Arguments:
|
||||
Index - Which FD, starts at zero.
|
||||
FdSize - Size of the FD in bytes
|
||||
FdBase - Start address of the FD. Assume it points to an FV Header
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Return the Base address and size of the FV
|
||||
EFI_UNSUPPORTED - Index does nto map to an FD in the system
|
||||
|
||||
--*/
|
||||
typedef struct {
|
||||
NT_FWH_INFORMATION NtFwh;
|
||||
} NT_FWH_PPI;
|
||||
|
||||
extern EFI_GUID gNtFwhPpiGuid;
|
||||
|
||||
#endif
|
|
@ -0,0 +1,65 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
NtPeiLoadFile.h
|
||||
|
||||
Abstract:
|
||||
|
||||
WinNt Load File PPI.
|
||||
|
||||
When the PEI core is done it calls the DXE IPL via PPI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __NT_PEI_LOAD_FILE_H__
|
||||
#define __NT_PEI_LOAD_FILE_H__
|
||||
|
||||
#include <WinNtDxe.h>
|
||||
|
||||
#define NT_PEI_LOAD_FILE_GUID \
|
||||
{ \
|
||||
0xfd0c65eb, 0x405, 0x4cd2, {0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 } \
|
||||
}
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *NT_PEI_LOAD_FILE) (
|
||||
VOID *Pe32Data,
|
||||
EFI_PHYSICAL_ADDRESS *ImageAddress,
|
||||
UINT64 *ImageSize,
|
||||
EFI_PHYSICAL_ADDRESS *EntryPoint
|
||||
);
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Loads and relocates a PE/COFF image into memory.
|
||||
|
||||
Arguments:
|
||||
Pe32Data - The base address of the PE/COFF file that is to be loaded and relocated
|
||||
ImageAddress - The base address of the relocated PE/COFF image
|
||||
ImageSize - The size of the relocated PE/COFF image
|
||||
EntryPoint - The entry point of the relocated PE/COFF image
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - The file was loaded and relocated
|
||||
EFI_OUT_OF_RESOURCES - There was not enough memory to load and relocate the PE/COFF file
|
||||
|
||||
--*/
|
||||
typedef struct {
|
||||
NT_PEI_LOAD_FILE PeiLoadFileService;
|
||||
} NT_PEI_LOAD_FILE_PPI;
|
||||
|
||||
extern EFI_GUID gNtPeiLoadFilePpiGuid;
|
||||
|
||||
#endif
|
|
@ -0,0 +1,56 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
NtThunk.h
|
||||
|
||||
Abstract:
|
||||
|
||||
WinNt Thunk interface PPI
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __NT_PEI_WIN_NT_THUNK_H__
|
||||
#define __NT_PEI_WIN_NT_THUNK_H__
|
||||
|
||||
#include <WinNtDxe.h>
|
||||
|
||||
#define PEI_NT_THUNK_PPI_GUID \
|
||||
{ \
|
||||
0x98c281e5, 0xf906, 0x43dd, {0xa9, 0x2b, 0xb0, 0x3, 0xbf, 0x27, 0x65, 0xda } \
|
||||
}
|
||||
|
||||
typedef
|
||||
VOID *
|
||||
(EFIAPI *PEI_NT_THUNK_INTERFACE) (
|
||||
VOID
|
||||
);
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
Export of EFI_WIN_NT_THUNK_PROTOCOL from the Windows SEC.
|
||||
|
||||
Arguments:
|
||||
InterfaceBase - Address of the EFI_WIN_NT_THUNK_PROTOCOL
|
||||
|
||||
Returns:
|
||||
EFI_SUCCESS - Data returned
|
||||
|
||||
--*/
|
||||
typedef struct {
|
||||
PEI_NT_THUNK_INTERFACE NtThunk;
|
||||
} PEI_NT_THUNK_PPI;
|
||||
|
||||
extern EFI_GUID gPeiNtThunkPpiGuid;
|
||||
|
||||
#endif
|
|
@ -0,0 +1,150 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
|
||||
WinNtIo.h
|
||||
|
||||
Abstract:
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __WIN_NT_IO_H__
|
||||
#define __WIN_NT_IO_H__
|
||||
|
||||
#define EFI_WIN_NT_IO_PROTOCOL_GUID \
|
||||
{ 0x96eb4ad6, 0xa32a, 0x11d4, { 0xbc, 0xfd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
|
||||
|
||||
extern EFI_GUID gEfiWinNtIoProtocolGuid;
|
||||
|
||||
typedef struct {
|
||||
EFI_WIN_NT_THUNK_PROTOCOL *WinNtThunk;
|
||||
EFI_GUID *TypeGuid;
|
||||
CHAR16 *EnvString;
|
||||
UINT16 InstanceNumber;
|
||||
} EFI_WIN_NT_IO_PROTOCOL;
|
||||
|
||||
//
|
||||
// The following GUIDs are used in EFI_WIN_NT_IO_PROTOCOL_GUID
|
||||
// Device paths. They map 1:1 with NT envirnment variables. The variables
|
||||
// define what virtual hardware the emulator/WinNtBusDriver will produce.
|
||||
//
|
||||
//
|
||||
// EFI_WIN_NT_VIRTUAL_DISKS
|
||||
//
|
||||
#define EFI_WIN_NT_VIRTUAL_DISKS_GUID \
|
||||
{ \
|
||||
0xc95a928, 0xa006, 0x11d4, {0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtVirtualDisksGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_PHYSICAL_DISKS
|
||||
//
|
||||
#define EFI_WIN_NT_PHYSICAL_DISKS_GUID \
|
||||
{ \
|
||||
0xc95a92f, 0xa006, 0x11d4, {0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtPhysicalDisksGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_GOP_GUID
|
||||
//
|
||||
#define EFI_WIN_NT_GOP_GUID \
|
||||
{ \
|
||||
0x4e11e955, 0xccca, 0x11d4, {0xbd, 0x0d, 0x00, 0x80, 0xc7, 0x3c, 0x88, 0x81} \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtGopGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_FILE_SYSTEM
|
||||
//
|
||||
#define EFI_WIN_NT_FILE_SYSTEM_GUID \
|
||||
{ \
|
||||
0xc95a935, 0xa006, 0x11d4, {0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtFileSystemGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_SERIAL_PORT
|
||||
//
|
||||
#define EFI_WIN_NT_SERIAL_PORT_GUID \
|
||||
{ \
|
||||
0xc95a93d, 0xa006, 0x11d4, {0xbc, 0xfa, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtSerialPortGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_UGA
|
||||
//
|
||||
#define EFI_WIN_NT_UGA_GUID \
|
||||
{ \
|
||||
0xab248e99, 0xabe1, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtUgaGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_CONSOLE
|
||||
//
|
||||
#define EFI_WIN_NT_CONSOLE_GUID \
|
||||
{ \
|
||||
0xba73672c, 0xa5d3, 0x11d4, {0xbd, 0x0, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtConsoleGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_MEMORY
|
||||
//
|
||||
#define EFI_WIN_NT_MEMORY_GUID \
|
||||
{ \
|
||||
0x99042912, 0x122a, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtMemoryGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_CPU_MODEL
|
||||
//
|
||||
#define EFI_WIN_NT_CPU_MODEL_GUID \
|
||||
{ \
|
||||
0xbee9b6ce, 0x2f8a, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtCPUModelGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_CPU_SPEED
|
||||
//
|
||||
#define EFI_WIN_NT_CPU_SPEED_GUID \
|
||||
{ \
|
||||
0xd4f29055, 0xe1fb, 0x11d4, {0xbd, 0xd, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtCPUSpeedGuid;
|
||||
|
||||
//
|
||||
// EFI_WIN_NT_PASS_THROUGH
|
||||
//
|
||||
#define EFI_WIN_NT_PASS_THROUGH_GUID \
|
||||
{ \
|
||||
0xcc664eb8, 0x3c24, 0x4086, {0xb6, 0xf6, 0x34, 0xe8, 0x56, 0xbc, 0xe3, 0x6e } \
|
||||
}
|
||||
|
||||
extern EFI_GUID gEfiWinNtPassThroughGuid;
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,29 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
WinNtLib.h
|
||||
|
||||
Abstract:
|
||||
Public include file for the WinNt Library
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __WIN_NT_DXE_H__
|
||||
#define __WIN_NT_DXE_H__
|
||||
|
||||
//
|
||||
// This forces Windows.h WIN32 include file to be included
|
||||
// it's needed for WinNtThunk.h
|
||||
// WinNtIo.h depends on WinNtThunk.h
|
||||
//
|
||||
#include <Common/WinNtInclude.h>
|
||||
#endif
|
|
@ -0,0 +1,31 @@
|
|||
/*++
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name:
|
||||
WinNtLib.h
|
||||
|
||||
Abstract:
|
||||
Public include file for the WinNt Library
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef __WIN_NT_PEIM_H__
|
||||
#define __WIN_NT_PEIM_H__
|
||||
|
||||
//
|
||||
// This forces Windows.h WIN32 include file to be included
|
||||
// it's needed for WinNtThunk.h
|
||||
//
|
||||
#include <Common/WinNtInclude.h>
|
||||
|
||||
#include <Protocol/WinNtThunk.h>
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue