1. Create Intel Framework Module Package directory

2. Complete the public inclusion files

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2746 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qhuang8 2007-06-26 08:14:44 +00:00
parent a9c9a31de8
commit a9102619d4
12 changed files with 1175 additions and 0 deletions

View File

@ -0,0 +1,54 @@
/*++
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:
MemoryStatusCodeRecord.h
Abstract:
GUID used to identify status code records HOB that originate from the PEI status code
--*/
#ifndef __MEMORY_STATUS_CODE_RECORD_H__
#define __MEMORY_STATUS_CODE_RECORD_H__
#define MEMORY_STATUS_CODE_RECORD_GUID \
{ \
0x60cc026, 0x4c0d, 0x4dda, {0x8f, 0x41, 0x59, 0x5f, 0xef, 0x0, 0xa5, 0x2} \
}
/**
Memory status code records packet structure :
+---------------+----------+----------+-----+----------+-----+----------+
| Packet Header | Record 1 | Record 2 | ... + Record n | ... | Record m |
+---------------+----------+----------+-----+----------+-----+----------+
^ ^ ^
+--------- RecordIndex -----------+ |
+---------------- MaxRecordsNumber----------------------+
**/
typedef struct {
UINT16 PacketIndex; // Index of the Packet.
UINT16 RecordIndex; // Index of record in the packet.
UINT32 MaxRecordsNumber; // Max number of records in the packet.
} MEMORY_STATUSCODE_PACKET_HEADER;
typedef struct {
EFI_STATUS_CODE_TYPE CodeType;
EFI_STATUS_CODE_VALUE Value;
UINT32 Instance;
} MEMORY_STATUSCODE_RECORD;
extern EFI_GUID gMemoryStatusCodeRecordGuid;
#endif

View File

@ -0,0 +1,30 @@
/*++
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:
PciHotplugDevice.h
Abstract:
GUIDs used to indicate the device is Pccard hotplug device
--*/
#ifndef __PCI_HOTPLUG_DEVICE_GUID_H_
#define __PCI_HOTPLUG_DEVICE_GUID_H_
#define EFI_PCI_HOTPLUG_DEVICE_GUID \
{ 0x0b280816, 0x52e7, 0x4e51, {0xaa, 0x57, 0x11, 0xbd, 0x41, 0xcb, 0xef, 0xc3 } }
extern EFI_GUID gEfiPciHotplugDeviceGuid;
#endif

View File

@ -0,0 +1,47 @@
/*++
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:
PciOptionRomTable.h
Abstract:
GUID and data structure used to describe the list of PCI Option ROMs present in a system.
--*/
#ifndef __PCI_OPTION_ROM_TABLE_GUID_H_
#define __PCI_OPTION_ROM_TABLE_GUID_H_
#define EFI_PCI_OPTION_ROM_TABLE_GUID \
{ 0x7462660f, 0x1cbd, 0x48da, {0xad, 0x11, 0x91, 0x71, 0x79, 0x13, 0x83, 0x1c } }
extern EFI_GUID gEfiPciOptionRomTableGuid;
typedef struct {
EFI_PHYSICAL_ADDRESS RomAddress;
EFI_MEMORY_TYPE MemoryType;
UINT32 RomLength;
UINT32 Seg;
UINT8 Bus;
UINT8 Dev;
UINT8 Func;
BOOLEAN ExecutedLegacyBiosImage;
BOOLEAN DontLoadEfiRom;
} EFI_PCI_OPTION_ROM_DESCRIPTOR;
typedef struct {
UINT64 PciOptionRomCount;
EFI_PCI_OPTION_ROM_DESCRIPTOR *PciOptionRomDescriptors;
} EFI_PCI_OPTION_ROM_TABLE;
#endif

View File

@ -0,0 +1,33 @@
/*++
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:
StatusCode.h
Abstract:
GUID used to identify Data Hub records that originate from the Tiano
ReportStatusCode API.
--*/
#ifndef __STATUS_CODE_H__
#define __STATUS_CODE_H__
#define EFI_STATUS_CODE_GUID \
{ \
0xd083e94c, 0x6560, 0x42e4, {0xb6, 0xd4, 0x2d, 0xf7, 0x5a, 0xdf, 0x6a, 0x2a } \
}
extern EFI_GUID gEfiStatusCodeGuid;
#endif

View File

@ -0,0 +1,73 @@
/** @file
OEM hook status code library functions with no library constructor/destructor
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: OemHookStatusCodeLib.h
**/
#ifndef __OEM_HOOK_STATUSCODE_LIB__
#define __OEM_HOOK_STATUSCODE_LIB__
/**
Initialize OEM status code device .
@return Status of initialization of OEM status code device.
**/
EFI_STATUS
EFIAPI
OemHookStatusCodeInitialize (
VOID
);
/**
Report status code to OEM device.
@param CodeType Indicates the type of status code being reported. Type EFI_STATUS_CODE_TYPE is defined in "Related Definitions" below.
@param Value Describes the current status of a hardware or software entity.
This included information about the class and subclass that is used to classify the entity
as well as an operation. For progress codes, the operation is the current activity.
For error codes, it is the exception. For debug codes, it is not defined at this time.
Type EFI_STATUS_CODE_VALUE is defined in "Related Definitions" below.
Specific values are discussed in the Intel? Platform Innovation Framework for EFI Status Code Specification.
@param Instance The enumeration of a hardware or software entity within the system.
A system may contain multiple entities that match a class/subclass pairing.
The instance differentiates between them. An instance of 0 indicates that instance information is unavailable,
not meaningful, or not relevant. Valid instance numbers start with 1.
@param CallerId This optional parameter may be used to identify the caller.
This parameter allows the status code driver to apply different rules to different callers.
Type EFI_GUID is defined in InstallProtocolInterface() in the EFI 1.10 Specification.
@param Data This optional parameter may be used to pass additional data
@return The function always return EFI_SUCCESS.
**/
EFI_STATUS
EFIAPI
OemHookStatusCodeReport (
IN EFI_STATUS_CODE_TYPE CodeType,
IN EFI_STATUS_CODE_VALUE Value,
IN UINT32 Instance,
IN EFI_GUID *CallerId, OPTIONAL
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
);
#endif

View File

@ -0,0 +1,134 @@
/** @file
PCI Incompatible device support Libary.
Copyright (c) 2007 Intel Corporation. All rights reserved. <BR>
This software and associated documentation (if any) is furnished
under a license and may only be used or copied in accordance
with the terms of the license. Except as permitted by such
license, no part of this software or documentation may be
reproduced, stored in a retrieval system, or transmitted in any
form or by any means without the express written consent of
Intel Corporation.
**/
#define PCI_REGISTER_READ 0xfffffffffffffff1ULL
#define PCI_REGISTER_WRITE 0xfffffffffffffff2ULL
#define VALUE_NOCARE 0xffffffffffffffffULL
//
// PCI device device information
//
typedef struct {
UINT64 VendorID;
UINT64 DeviceID;
UINT64 RevisionID;
UINT64 SubsystemVendorID;
UINT64 SubsystemID;
} EFI_PCI_DEVICE_INFO;
//
// store hardcode value of resgister
//
typedef struct {
UINT64 AndValue;
UINT64 OrValue;
} EFI_PCI_REGISTER_VALUE_DATA;
//
// store access width information
//
typedef struct {
UINT64 StartOffset;
UINT64 EndOffset;
UINT64 Width;
} EFI_PCI_REGISTER_ACCESS_DATA;
//
// ACPI resource descriptor
//
typedef struct {
UINT64 ResType;
UINT64 GenFlag;
UINT64 SpecificFlag;
UINT64 AddrSpaceGranularity;
UINT64 AddrRangeMin;
UINT64 AddrRangeMax;
UINT64 AddrTranslationOffset;
UINT64 AddrLen;
} EFI_PCI_RESOUCE_DESCRIPTOR;
/**
Checks the incompatible device list for ACPI resource update and return
the configuration.
This function searches the incompatible device list according to request
information. If the PCI device belongs to the devices list, corresponding
configuration informtion will be returned, in the meantime return EFI_SUCCESS.
@param PciDeviceInfo A pointer to PCI device information.
@param Configuration Returned information.
@retval returns EFI_SUCCESS if check incompatible device ok.
Otherwise return EFI_UNSUPPORTED.
**/
RETURN_STATUS
EFIAPI
PciResourceUpdateCheck (
IN EFI_PCI_DEVICE_INFO *PciDeviceInfo,
OUT VOID *Configuration
);
/**
Checks the incompatible device list and return configuration register mask values.
This function searches the incompatible device list according to request
information. If the PCI device belongs to the devices list, corresponding
configuration informtion will be returned, in the meantime return EFI_SUCCESS.
@param PciDeviceInfo A pointer to EFI_PCI_DEVICE_INFO.
@param AccessType Access Type, READ or WRITE.
@param Offset The address within the PCI configuration space.
@param Configuration Returned information.
@retval returns EFI_SUCCESS if check incompatible device ok.
Otherwise return EFI_UNSUPPORTED.
**/
RETURN_STATUS
EFIAPI
PciRegisterUpdateCheck (
IN EFI_PCI_DEVICE_INFO *PciDeviceInfo,
IN UINT64 AccessType,
IN UINT64 Offset,
OUT VOID *Configuration
);
/**
Checks the incompatible device list for access width incompatibility and
return the configuration
This function searches the incompatible device list for access width
incompatibility according to request information. If the PCI device
belongs to the devices list, corresponding configuration informtion
will be returned, in the meantime return EFI_SUCCESS.
@param PciDeviceInfo A pointer to PCI device information.
@param AccessType Access type, READ or WRITE.
@param Offset The address within the PCI configuration space.
@param AccessWidth Access width needs to check incompatibility.
@param Configuration Returned information.
@retval returns EFI_SUCCESS if check incompatible device ok.
Otherwise return EFI_UNSUPPORTED.
**/
RETURN_STATUS
EFIAPI
PciRegisterAccessCheck (
IN EFI_PCI_DEVICE_INFO *PciDeviceInfo,
IN UINT64 AccessType,
IN UINT64 Offset,
IN UINT64 AccessWidth,
OUT VOID *Configuration
);

View File

@ -0,0 +1,177 @@
/*++
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:
IsaAcpi.h
Abstract:
EFI ISA Acpi Protocol
Revision History
--*/
#ifndef __ISA_ACPI_H_
#define __ISA_ACPI_H_
#define EFI_ISA_ACPI_PROTOCOL_GUID \
{ 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 } }
typedef struct _EFI_ISA_ACPI_PROTOCOL EFI_ISA_ACPI_PROTOCOL;
//
// Resource Attribute definition
//
#define EFI_ISA_ACPI_IRQ_TYPE_HIGH_TRUE_EDGE_SENSITIVE 0x01
#define EFI_ISA_ACPI_IRQ_TYPE_LOW_TRUE_EDGE_SENSITIVE 0x02
#define EFI_ISA_ACPI_IRQ_TYPE_HIGH_TRUE_LEVEL_SENSITIVE 0x04
#define EFI_ISA_ACPI_IRQ_TYPE_LOW_TRUE_LEVEL_SENSITIVE 0x08
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_MASK 0x03
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_COMPATIBILITY 0x00
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_A 0x01
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_B 0x02
#define EFI_ISA_ACPI_DMA_SPEED_TYPE_F 0x03
#define EFI_ISA_ACPI_DMA_COUNT_BY_BYTE 0x04
#define EFI_ISA_ACPI_DMA_COUNT_BY_WORD 0x08
#define EFI_ISA_ACPI_DMA_BUS_MASTER 0x10
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_8_BIT 0x20
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_8_BIT_AND_16_BIT 0x40
#define EFI_ISA_ACPI_DMA_TRANSFER_TYPE_16_BIT 0x80
#define EFI_ISA_ACPI_MEMORY_WIDTH_MASK 0x03
#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT 0x00
#define EFI_ISA_ACPI_MEMORY_WIDTH_16_BIT 0x01
#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT_AND_16_BIT 0x02
#define EFI_ISA_ACPI_MEMORY_WRITEABLE 0x04
#define EFI_ISA_ACPI_MEMORY_CACHEABLE 0x08
#define EFI_ISA_ACPI_MEMORY_SHADOWABLE 0x10
#define EFI_ISA_ACPI_MEMORY_EXPANSION_ROM 0x20
#define EFI_ISA_ACPI_IO_DECODE_10_BITS 0x01
#define EFI_ISA_ACPI_IO_DECODE_16_BITS 0x02
//
// Resource List definition:
// at first, the resource was defined as below
// but in the future, it will be defined again that follow ACPI spec: ACPI resource type
// so that, in this driver, we can interpret the ACPI table and get the ISA device information.
//
typedef enum {
EfiIsaAcpiResourceEndOfList,
EfiIsaAcpiResourceIo,
EfiIsaAcpiResourceMemory,
EfiIsaAcpiResourceDma,
EfiIsaAcpiResourceInterrupt
} EFI_ISA_ACPI_RESOURCE_TYPE;
typedef struct {
EFI_ISA_ACPI_RESOURCE_TYPE Type;
UINT32 Attribute;
UINT32 StartRange;
UINT32 EndRange;
} EFI_ISA_ACPI_RESOURCE;
typedef struct {
UINT32 HID;
UINT32 UID;
} EFI_ISA_ACPI_DEVICE_ID;
typedef struct {
EFI_ISA_ACPI_DEVICE_ID Device;
EFI_ISA_ACPI_RESOURCE *ResourceItem;
} EFI_ISA_ACPI_RESOURCE_LIST;
//
// Prototypes for the ISA ACPI Protocol
//
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_ACPI_DEVICE_ENUMERATE) (
IN EFI_ISA_ACPI_PROTOCOL *This,
OUT EFI_ISA_ACPI_DEVICE_ID **Device
);
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_ACPI_SET_DEVICE_POWER) (
IN EFI_ISA_ACPI_PROTOCOL *This,
IN EFI_ISA_ACPI_DEVICE_ID *Device,
IN BOOLEAN OnOff
);
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_ACPI_GET_CUR_RESOURCE) (
IN EFI_ISA_ACPI_PROTOCOL *This,
IN EFI_ISA_ACPI_DEVICE_ID *Device,
OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList
);
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_ACPI_GET_POS_RESOURCE) (
IN EFI_ISA_ACPI_PROTOCOL *This,
IN EFI_ISA_ACPI_DEVICE_ID *Device,
OUT EFI_ISA_ACPI_RESOURCE_LIST **ResourceList
);
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_ACPI_SET_RESOURCE) (
IN EFI_ISA_ACPI_PROTOCOL *This,
IN EFI_ISA_ACPI_DEVICE_ID *Device,
IN EFI_ISA_ACPI_RESOURCE_LIST *ResourceList
);
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_ACPI_ENABLE_DEVICE) (
IN EFI_ISA_ACPI_PROTOCOL *This,
IN EFI_ISA_ACPI_DEVICE_ID *Device,
IN BOOLEAN Enable
);
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_ACPI_INIT_DEVICE) (
IN EFI_ISA_ACPI_PROTOCOL *This,
IN EFI_ISA_ACPI_DEVICE_ID *Device
);
typedef
EFI_STATUS
(EFIAPI *EFI_ISA_ACPI_INTERFACE_INIT) (
IN EFI_ISA_ACPI_PROTOCOL *This
);
//
// Interface structure for the ISA ACPI Protocol
//
struct _EFI_ISA_ACPI_PROTOCOL {
EFI_ISA_ACPI_DEVICE_ENUMERATE DeviceEnumerate;
EFI_ISA_ACPI_SET_DEVICE_POWER SetPower;
EFI_ISA_ACPI_GET_CUR_RESOURCE GetCurResource;
EFI_ISA_ACPI_GET_POS_RESOURCE GetPosResource;
EFI_ISA_ACPI_SET_RESOURCE SetResource;
EFI_ISA_ACPI_ENABLE_DEVICE EnableDevice;
EFI_ISA_ACPI_INIT_DEVICE InitDevice;
EFI_ISA_ACPI_INTERFACE_INIT InterfaceInit;
};
extern EFI_GUID gEfiIsaAcpiProtocolGuid;
#endif

View File

@ -0,0 +1,165 @@
/** @file
This file declares EFI PCI Hot Plug Init Protocol
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: PciHotPlugInit.h
@par Revision Reference:
This protocol is defined in Framework of EFI Hot Plug Pci Initialization Protocol Spec
Version 0.9
**/
#ifndef __EFI_PCI_HOT_PLUG_INIT_H_
#define __EFI_PCI_HOT_PLUG_INIT_H_
//
// Global ID for the PCI Hot Plug Protocol
//
#define EFI_PCI_HOT_PLUG_INIT_PROTOCOL_GUID \
{ 0xaa0e8bc1, 0xdabc, 0x46b0, {0xa8, 0x44, 0x37, 0xb8, 0x16, 0x9b, 0x2b, 0xea } }
typedef struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL EFI_PCI_HOT_PLUG_INIT_PROTOCOL;
#define EFI_HPC_STATE_INITIALIZED 0x01
#define EFI_HPC_STATE_ENABLED 0x02
typedef UINT16 EFI_HPC_STATE;
typedef struct{
EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath;
EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath;
} EFI_HPC_LOCATION;
typedef enum{
EfiPaddingPciBus,
EfiPaddingPciRootBridge
} EFI_HPC_PADDING_ATTRIBUTES;
/**
Returns a list of root Hot Plug Controllers (HPCs) that require initialization
during the boot process.
@param This Pointer to the EFI_PCI_HOT_PLUG_INIT_PROTOCOL instance.
@param HpcCount The number of root HPCs that were returned.
@param HpcList The list of root HPCs. HpcCount defines the number of
elements in this list.
@retval EFI_SUCCESS HpcList was returned.
@retval EFI_OUT_OF_RESOURCES HpcList was not returned due to insufficient resources.
@retval EFI_INVALID_PARAMETER HpcCount is NULL or HpcList is NULL.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_GET_ROOT_HPC_LIST) (
IN EFI_PCI_HOT_PLUG_INIT_PROTOCOL *This,
OUT UINTN *HpcCount,
OUT EFI_HPC_LOCATION **HpcList
);
/**
Initializes one root Hot Plug Controller (HPC). This process may causes
initialization of its subordinate buses.
@param This Pointer to the EFI_PCI_HOT_PLUG_INIT_PROTOCOL instance.
@param HpcDevicePath The device path to the HPC that is being initialized.
@param HpcPciAddress The address of the HPC function on the PCI bus.
@param Event The event that should be signaled when the HPC initialization
is complete.
@param HpcState The state of the HPC hardware.
@retval EFI_SUCCESS If Event is NULL, the specific HPC was successfully
initialized. If Event is not NULL, Event will be signaled at a later time
when initialization is complete.
@retval EFI_UNSUPPORTED This instance of EFI_PCI_HOT_PLUG_INIT_PROTOCOL
does not support the specified HPC.
@retval EFI_OUT_OF_RESOURCES Initialization failed due to insufficient
resources.
@retval EFI_INVALID_PARAMETER HpcState is NULL.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_INITIALIZE_ROOT_HPC) (
IN EFI_PCI_HOT_PLUG_INIT_PROTOCOL *This,
IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath,
IN UINT64 HpcPciAddress,
IN EFI_EVENT Event, OPTIONAL
OUT EFI_HPC_STATE *HpcState
);
/**
Returns the resource padding that is required by the PCI bus that is controlled
by the specified Hot Plug Controller (HPC).
@param This Pointer to the EFI_PCI_HOT_PLUG_INIT_PROTOCOL instance.
@param HpcDevicePath The device path to the HPC.
@param HpcPciAddress The address of the HPC function on the PCI bus.
@param HpcState The state of the HPC hardware.
@param Padding The amount of resource padding that is required by the
PCI bus under the control of the specified HPC.
@param Attributes Describes how padding is accounted for. The padding
is returned in the form of ACPI 2.0 resource descriptors.
@retval EFI_SUCCESS The resource padding was successfully returned.
@retval EFI_UNSUPPORTED This instance of the EFI_PCI_HOT_PLUG_INIT_PROTOCOL
does not support the specified HPC.
@retval EFI_NOT_READY This function was called before HPC initialization is complete.
@retval EFI_INVALID_PARAMETER HpcState or Padding or Attributes is NULL.
@retval EFI_OUT_OF_RESOURCES ACPI 2.0 resource descriptors for Padding
cannot be allocated due to insufficient resources.
**/
typedef
EFI_STATUS
(EFIAPI *EFI_GET_PCI_HOT_PLUG_PADDING) (
IN EFI_PCI_HOT_PLUG_INIT_PROTOCOL *This,
IN EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath,
IN UINT64 HpcPciAddress,
OUT EFI_HPC_STATE *HpcState,
OUT VOID **Padding,
OUT EFI_HPC_PADDING_ATTRIBUTES *Attributes
);
//
// Prototypes for the PCI Hot Plug Init Protocol
//
/**
@par Protocol Description:
This protocol provides the necessary functionality to initialize the
Hot Plug Controllers (HPCs) and the buses that they control. This protocol
also provides information regarding resource padding.
@param GetRootHpcList
Returns a list of root HPCs and the buses that they control.
@param InitializeRootHpc
Initializes the specified root HPC.
@param GetResourcePadding
Returns the resource padding that is required by the HPC.
**/
struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL {
EFI_GET_ROOT_HPC_LIST GetRootHpcList;
EFI_INITIALIZE_ROOT_HPC InitializeRootHpc;
EFI_GET_PCI_HOT_PLUG_PADDING GetResourcePadding;
};
extern EFI_GUID gEfiPciHotPlugInitProtocolGuid;
#endif

View File

@ -0,0 +1,54 @@
/*++
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:
PciHotPlugRequest.h
Abstract:
--*/
#ifndef __PCI_HOTPLUG_REQUEST_H_
#define __PCI_HOTPLUG_REQUEST_H_
#define EFI_PCI_HOTPLUG_REQUEST_PROTOCOL_GUID \
{0x19cb87ab,0x2cb9,{0x4665,0x83,0x60,0xdd,0xcf,0x60,0x54,0xf7,0x9d}}
typedef enum {
EfiPciHotPlugRequestAdd,
EfiPciHotplugRequestRemove
} EFI_PCI_HOTPLUG_OPERATION;
typedef struct _EFI_PCI_HOTPLUG_REQUEST_PROTOCOL EFI_PCI_HOTPLUG_REQUEST_PROTOCOL;
typedef
EFI_STATUS
(EFIAPI *EFI_PCI_HOTPLUG_REQUEST_NOTIFY) (
IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL *This,
IN EFI_PCI_HOTPLUG_OPERATION Operation,
IN EFI_HANDLE Controller,
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL,
IN OUT UINT8 *NumberOfChildren,
IN OUT EFI_HANDLE *ChildHandleBuffer
);
struct _EFI_PCI_HOTPLUG_REQUEST_PROTOCOL {
EFI_PCI_HOTPLUG_REQUEST_NOTIFY Notify;
};
extern EFI_GUID gEfiPciHotPlugRequestProtocolGuid;
#endif

View File

@ -0,0 +1,72 @@
/*++
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:
VgaMiniPort.h
Abstract:
Vga Mini port binding for a VGA controller
Revision History
--*/
#ifndef __VGA_MINI_PORT_H_
#define __VGA_MINI_PORT_H_
#define EFI_VGA_MINI_PORT_PROTOCOL_GUID \
{ \
0xc7735a2f, 0x88f5, 0x4882, {0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 } \
}
typedef struct _EFI_VGA_MINI_PORT_PROTOCOL EFI_VGA_MINI_PORT_PROTOCOL;
typedef
EFI_STATUS
(EFIAPI *EFI_VGA_MINI_PORT_SET_MODE) (
IN EFI_VGA_MINI_PORT_PROTOCOL * This,
IN UINTN ModeNumber
);
/*++
Routine Description:
Sets the text display mode of a VGA controller
Arguments:
This - Protocol instance pointer.
Mode - Mode number. 0 - 80x25 1-80x50
Returns:
EFI_SUCCESS - The mode was set
EFI_DEVICE_ERROR - The device is not functioning properly.
--*/
struct _EFI_VGA_MINI_PORT_PROTOCOL {
EFI_VGA_MINI_PORT_SET_MODE SetMode;
UINT64 VgaMemoryOffset;
UINT64 CrtcAddressRegisterOffset;
UINT64 CrtcDataRegisterOffset;
UINT8 VgaMemoryBar;
UINT8 CrtcAddressRegisterBar;
UINT8 CrtcDataRegisterBar;
UINT8 MaxMode;
};
extern EFI_GUID gEfiVgaMiniPortProtocolGuid;
#endif

View File

@ -0,0 +1,109 @@
#/** @file
# Intel Framework Module Package Reference Implementations
#
# This Module provides standard reference information for EFI/Tiano implementations.
# Copyright (c) 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.
#
#**/
################################################################################
#
# Defines Section - statements that will be processed to create a Makefile.
#
################################################################################
[Defines]
DEC_SPECIFICATION = 0x00010005
PACKAGE_NAME = IntelFrameworkModulePkg
PACKAGE_GUID = 88894582-7553-4822-B484-624E24B6DECF
PACKAGE_VERSION = 0.1
################################################################################
#
# Library Class Header section - list of Library Class header files that are
# provided by this package.
#
################################################################################
[LibraryClass.common]
PciIncompatibleDeviceSupportLib|Include/Library/PciIncompatibleDeviceSupportLib.h
OemHookStatusCodeLib|Include/Library/OemHookStatusCodeLib.h
################################################################################
#
# Global Guid Definition section - list of Global Guid C Name Data Structures
# that are provided by this package.
#
################################################################################
[Guids.common]
gEfiIntelFrameworkModulePkgTokenSpaceGuid = { 0xD3705011, 0xBC19, 0x4af7, { 0xBE, 0x16, 0xF6, 0x80, 0x30, 0x37, 0x8C, 0x15 }}
gEfiPciHotplugDeviceGuid = { 0x0B280816, 0x52E7, 0x4E51, { 0xAA, 0x57, 0x11, 0xBD, 0x41, 0xCB, 0xEF, 0xC3 }}
gEfiPciOptionRomTableGuid = { 0x7462660F, 0x1CBD, 0x48DA, { 0xAD, 0x11, 0x91, 0x71, 0x79, 0x13, 0x83, 0x1C }}
gEfiStatusCodeGuid = { 0xD083E94C, 0x6560, 0x42E4, { 0xB6, 0xD4, 0x2D, 0xF7, 0x5A, 0xDF, 0x6A, 0x2A }}
gMemoryStatusCodeRecordGuid = { 0x060CC026, 0x4C0D, 0x4DDA, { 0x8F, 0x41, 0x59, 0x5F, 0xEF, 0x00, 0xA5, 0x02 }}
################################################################################
#
# Global Protocols Definition section - list of Global Protocols C Name Data
# Structures that are provided by this package.
#
################################################################################
[Protocols.common]
gEfiIsaAcpiProtocolGuid = { 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 }}
gEfiVgaMiniPortProtocolGuid = { 0xc7735a2f, 0x88f5, 0x4882, { 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 }}
gEfiPciHotPlugInitProtocolGuid = { 0xAA0E8BC1, 0xDABC, 0x46B0, { 0xA8, 0x44, 0x37, 0xB8, 0x16, 0x9B, 0x2B, 0xEA }}
gEfiPciHotPlugRequestProtocolGuid = { 0x19CB87AB, 0x2CB9, 0x4665, { 0x83, 0x60, 0xDD, 0xCF, 0x60, 0x54, 0xF7, 0x9D }}
################################################################################
#
# PCD Declarations section - list of all PCDs Declared by this Package
# Only this package should be providing the
# declaration, other packages should not.
#
################################################################################
[PcdDynamic.common]
PcdStatusCodeMemorySize|0x00010025|gEfiIntelFrameworkModulePkgTokenSpaceGuid|UINT16|1
PcdStatusCodeRuntimeMemorySize|0x0001002e|gEfiIntelFrameworkModulePkgTokenSpaceGuid|UINT16|4
[PcdFeatureFlag.common]
PcdStatusCodeUseSerial|0x00010022|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeUseMemory|0x00010023|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeUseOEM|0x00010024|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeUseEfiSerial|0x00010026|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeUseHardSerial|0x00010027|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeUseRuntimeMemory|0x00010028|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeUseDataHub|0x00010029|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeReplayInSerial|0x0001002a|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeReplayInRuntimeMemory|0x0001002b|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeReplayInDataHub|0x0001002c|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdStatusCodeReplayInOEM|0x0001002d|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdPciIsaEnable|0x00010039|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdPciVgaEnable|0x0001003a|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|FALSE
PcdPciBusHotplugDeviceSupport|0x0001003d|gEfiIntelFrameworkModulePkgTokenSpaceGuid|BOOLEAN|TRUE
[PcdFixedAtBuild.common]
PcdStatusCodeMemorySize|0x00010025|gEfiIntelFrameworkModulePkgTokenSpaceGuid|UINT16|1
PcdStatusCodeRuntimeMemorySize|0x0001002e|gEfiIntelFrameworkModulePkgTokenSpaceGuid|UINT16|4
[PcdPatchableInModule.common]
PcdStatusCodeMemorySize|0x00010025|gEfiIntelFrameworkModulePkgTokenSpaceGuid|UINT16|1
PcdStatusCodeRuntimeMemorySize|0x0001002e|gEfiIntelFrameworkModulePkgTokenSpaceGuid|UINT16|4

View File

@ -0,0 +1,227 @@
<?xml version="1.0" encoding="UTF-8"?>
<PackageSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SpdHeader>
<PackageName>IntelFrameworkModulePkg</PackageName>
<GuidValue>88894582-7553-4822-B484-624E24B6DECF</GuidValue>
<Version>0.1</Version>
<Abstract>Intel Framework Module Package Reference Implementations</Abstract>
<Description>This Module provides standard reference information for EFI/Tiano implementations.</Description>
<Copyright>Copyright (c) 2007, Intel Corporation.</Copyright>
<License>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.</License>
<Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
</SpdHeader>
<PackageDefinitions>
<ReadOnly>false</ReadOnly>
<RePackage>false</RePackage>
</PackageDefinitions>
<LibraryClassDeclarations>
<LibraryClass Name="OemHookStatusCodeLib">
<IncludeHeader>Include/Library/OemHookStatusCodeLib.h</IncludeHeader>
<HelpText/>
</LibraryClass>
<LibraryClass Name="PciIncompatibleDeviceSupportLib">
<IncludeHeader>Include/Library/PciIncompatibleDeviceSupportLib.h</IncludeHeader>
<HelpText>This library includes the PCI incompatible devices list.</HelpText>
</LibraryClass>
</LibraryClassDeclarations>
<GuidDeclarations>
<Entry Name="MemoryStatusCodeRecord" GuidTypeList="HOB">
<C_Name>gMemoryStatusCodeRecordGuid</C_Name>
<GuidValue>060CC026-4C0D-4DDA-8F41-595FEF00A502</GuidValue>
<HelpText>GUID used to identify status code records HOB that originate from the PEI status code.</HelpText>
</Entry>
<Entry Name="StatusCode" GuidTypeList="DATA_HUB_RECORD">
<C_Name>gEfiStatusCodeGuid</C_Name>
<GuidValue>D083E94C-6560-42E4-B6D4-2DF75ADF6A2A</GuidValue>
<HelpText>GUID used to identify Data Hub records.</HelpText>
</Entry>
<Entry Name="PciOptionRomTable" GuidTypeList="GUID">
<C_Name>gEfiPciOptionRomTableGuid</C_Name>
<GuidValue>7462660F-1CBD-48DA-AD11-91717913831C</GuidValue>
<HelpText>GUID and data structure used to describe the list of PCI Option ROMs present in a system.</HelpText>
</Entry>
<Entry Name="PciHotplugDevice" GuidTypeList="GUID">
<C_Name>gEfiPciHotplugDeviceGuid</C_Name>
<GuidValue>0B280816-52E7-4E51-AA57-11BD41CBEFC3</GuidValue>
<HelpText>GUIDs used to indicate the device is Pccard hotplug device.</HelpText>
</Entry>
<Entry Name="IntelFrameworkModulePkgTokenSpace" GuidTypeList="TOKEN_SPACE_GUID">
<C_Name>gEfiIntelFrameworkModulePkgTokenSpaceGuid</C_Name>
<GuidValue>D3705011-BC19-4af7-BE16-F68030378C15</GuidValue>
<HelpText>All PCD define in IntelFrameworkModulePkg is in this token space scope.</HelpText>
</Entry>
</GuidDeclarations>
<ProtocolDeclarations>
<Entry Name="PciHotPlugRequest">
<C_Name>gEfiPciHotPlugRequestProtocolGuid</C_Name>
<GuidValue>19CB87AB-2CB9-4665-8360-DDCF6054F79D</GuidValue>
<HelpText>Provide Hot Plug Support by PciBus driver. PciBus driver is notified by the Protocol caller to start Hot Plug device.</HelpText>
</Entry>
<Entry Name="PciHotPlugInit">
<C_Name>gEfiPciHotPlugInitProtocolGuid</C_Name>
<GuidValue>AA0E8BC1-DABC-46B0-A844-37B8169B2BEA</GuidValue>
<HelpText>Provide platform specific Hot Plug Support to PciBus driver. PciBus driver consumes this Protocol to get platform specific information.</HelpText>
</Entry>
<Entry Name="VgaMiniPort">
<C_Name>gEfiVgaMiniPortProtocolGuid</C_Name>
<GuidValue>c7735a2f-88f5-4882-ae63-faac8c8b86b3</GuidValue>
<HelpText>Provide the text display mode base a VGA controller.</HelpText>
</Entry>
<Entry Name="Isa Acpi">
<C_Name>gEfiIsaAcpiProtocolGuid</C_Name>
<GuidValue>64a892dc-5561-4536-92c7-799bfc183355</GuidValue>
<HelpText>Provide interface to manage the ISA device resource.</HelpText>
</Entry>
</ProtocolDeclarations>
<PcdDeclarations>
<PcdEntry>
<C_Name>PcdStatusCodeUseSerial</C_Name>
<Token>0x00010022</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable report staus code to serial I/O. Disable it can reduce the size of final image generated.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeUseMemory</C_Name>
<Token>0x00010023</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable save statuc code in GUID'ed HOB. Disable it can reduce the size of final image generated.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeUseOEM</C_Name>
<Token>0x00010024</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>This feature flag can be used to enable or disable send status code to OEM device. Disable it can reduce the size of final image generated.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeMemorySize</C_Name>
<Token>0x00010025</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT16</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>
<DefaultValue>1</DefaultValue>
<HelpText>kbytes size of GUID'ed HOB, if the GUID'ed HOB is full, create new GUID'ed HOB with this size.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeUseEfiSerial</C_Name>
<Token>0x00010026</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Use to switch on/off report status code through serial DXE.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeUseHardSerial</C_Name>
<Token>0x00010027</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Use to switch on/off report status code to serial device.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeUseRuntimeMemory</C_Name>
<Token>0x00010028</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Use to switch on/off save status code in runtime memory.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeUseDataHub</C_Name>
<Token>0x00010029</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Use to switch on/off log status code in data hub.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeReplayInSerial</C_Name>
<Token>0x0001002a</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Use to enable/dsable replay status code which saved in GUID'ed HOB in PEI phase to EFI serial.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeReplayInRuntimeMemory</C_Name>
<Token>0x0001002b</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Use to enable/dsable replay status code which saved in GUID'ed HOB in PEI phase to EFI serial.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeReplayInDataHub</C_Name>
<Token>0x0001002c</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Use to enable/dsable replay status code which saved in GUID'ed HOB in PEI phase to EFI serial.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeReplayInOEM</C_Name>
<Token>0x0001002d</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Use to enable/dsable replay status code which saved in GUID'ed HOB in PEI phase to EFI serial.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdStatusCodeRuntimeMemorySize</C_Name>
<Token>0x0001002e</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>UINT16</DatumType>
<ValidUsage>FIXED_AT_BUILD PATCHABLE_IN_MODULE DYNAMIC</ValidUsage>
<DefaultValue>4</DefaultValue>
<HelpText>kbytes size of runtime memory.</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdPciIsaEnable</C_Name>
<Token>0x00010039</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>This is a switch to enable ISA</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdPciVgaEnable</C_Name>
<Token>0x0001003a</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>FALSE</DefaultValue>
<HelpText>Whether VGA decoding is enabled on this platform so we should avoid those aliased resources</HelpText>
</PcdEntry>
<PcdEntry>
<C_Name>PcdPciBusHotplugDeviceSupport</C_Name>
<Token>0x0001003d</Token>
<TokenSpaceGuidCName>gEfiIntelFrameworkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
<DatumType>BOOLEAN</DatumType>
<ValidUsage>FEATURE_FLAG</ValidUsage>
<DefaultValue>TRUE</DefaultValue>
<HelpText>If TRUE, the PCI bus driver will support hot plug device. If not hot plug device is supported, this feature flag can be set to FALSE to save size.</HelpText>
</PcdEntry>
</PcdDeclarations>
</PackageSurfaceArea>