summaryrefslogtreecommitdiff
path: root/OldMdePkg
diff options
context:
space:
mode:
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2007-06-04 09:36:42 +0000
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2007-06-04 09:36:42 +0000
commit06fb8ffd0771d95b3f8797c30bf8e620eddd1e23 (patch)
treeaf6cf0abb258fa77de44d5d7b275cc232e26bc1c /OldMdePkg
parentdabd48785bc21cd05327c49db1fcb8f7fb9c3867 (diff)
downloadedk2-06fb8ffd0771d95b3f8797c30bf8e620eddd1e23.zip
edk2-06fb8ffd0771d95b3f8797c30bf8e620eddd1e23.tar.gz
edk2-06fb8ffd0771d95b3f8797c30bf8e620eddd1e23.tar.bz2
MdePkg:
1. Add AcpiTable & ComponentName2 Protocol definitions. 2. Add HardwareErrorVariable GUID definition. EdkModulePkg: 1. Update DxeCore to let InsatllConfigurationTable() signal the event group whenever a table entry is inserted, modified or deleted. 2. Update ConPlatform to let Simple Text In and Out not share a stop function . git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2625 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'OldMdePkg')
-rw-r--r--OldMdePkg/Include/Guid/HardwareErrorVariable.h30
-rw-r--r--OldMdePkg/Include/Protocol/AcpiTable.h97
-rw-r--r--OldMdePkg/Include/Protocol/ComponentName2.h136
-rw-r--r--OldMdePkg/Include/Uefi/UefiSpec.h12
-rw-r--r--OldMdePkg/MdePkg.spd27
5 files changed, 298 insertions, 4 deletions
diff --git a/OldMdePkg/Include/Guid/HardwareErrorVariable.h b/OldMdePkg/Include/Guid/HardwareErrorVariable.h
new file mode 100644
index 0000000..afae5ec
--- /dev/null
+++ b/OldMdePkg/Include/Guid/HardwareErrorVariable.h
@@ -0,0 +1,30 @@
+/** @file
+ GUID for hardware error record variables.
+
+ 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.
+
+ Module Name: HardwareErrorVariable.h
+
+ @par Revision Reference:
+ GUID defined in UEFI 2.1.
+
+**/
+
+#ifndef _HARDWARE_ERROR_VARIABLE_GUID_H_
+#define _HARDWARE_ERROR_VARIABLE_GUID_H_
+
+#define EFI_HARDWARE_ERROR_VARIABLE_GUID \
+ { \
+ 0x414E6BDD, 0xE47B, 0x47cc, {0xB2, 0x44, 0xBB, 0x61, 0x02, 0x0C, 0xF5, 0x16} \
+ }
+
+extern EFI_GUID gEfiHardwareErrorVariableGuid;
+
+#endif
diff --git a/OldMdePkg/Include/Protocol/AcpiTable.h b/OldMdePkg/Include/Protocol/AcpiTable.h
new file mode 100644
index 0000000..d46116d
--- /dev/null
+++ b/OldMdePkg/Include/Protocol/AcpiTable.h
@@ -0,0 +1,97 @@
+/** @file
+ This protocol may be used to install or remove an ACPI table from a platform.
+
+ 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.
+
+ Module Name: AcpiTable.h
+
+ @par Revision Reference:
+ ACPI Table Protocol from the UEFI 2.1 specification.
+
+**/
+
+#ifndef __ACPI_TABLE_H__
+#define __ACPI_TABLE_H__
+
+//
+// Global ID for the Acpi Table Protocol
+//
+#define EFI_ACPI_TABLE_PROTOCOL_GUID \
+ { \
+ 0xffe06bdd, 0x6107, 0x46a6, {0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c} \
+ }
+
+typedef struct _EFI_ACPI_TABLE_PROTOCOL EFI_ACPI_TABLE_PROTOCOL;
+
+#define UEFI_ACPI_TABLE_SIGNATURE EFI_SIGNATURE_32 ('U', 'E', 'F', 'I')
+
+/**
+ Installs an ACPI table into the RSDT/XSDT.
+
+ @param This Protocol instance pointer.
+ @param AcpiTableBuffer A pointer to a buffer containing the ACPI table
+ to be installed.
+ @param AcpiTableBufferSize Specifies the size, in bytes, of the
+ AcpiTableBuffer buffer.
+ @param TableKey Reurns a key to refer to the ACPI table.
+
+ @retval EFI_SUCCESS The table was successfully inserted.
+ @retval EFI_INVALID_PARAMETER Either AcpiTableBuffer is NULL, TableKey is
+ NULL, or AcpiTableBufferSize and the size field
+ embedded in the ACPI table pointed to by
+ AcpiTableBuffer are not in sync.
+ @retval EFI_OUT_OF_RESOURCES Insufficient resources exist to complete the
+ request.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_ACPI_TABLE_INSTALL_ACPI_TABLE) (
+ IN EFI_ACPI_TABLE_PROTOCOL *This,
+ IN VOID *AcpiTableBuffer,
+ IN UINTN AcpiTableBufferSize,
+ OUT UINTN *TableKey
+ )
+;
+
+/**
+ Removes an ACPI table from the RSDT/XSDT.
+
+ @param This Protocol instance pointer.
+ @param TableKey Specifies the table to uninstall. The key was
+ returned from InstallAcpiTable().
+
+ @retval EFI_SUCCESS The table was successfully uninstalled.
+ @retval EFI_NOT_FOUND TableKey does not refer to a valid key for a
+ table entry.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE) (
+ IN EFI_ACPI_TABLE_PROTOCOL *This,
+ IN UINTN TableKey
+ )
+;
+
+//
+// Interface structure for the ACPI Table Protocol
+//
+struct _EFI_ACPI_TABLE_PROTOCOL {
+ EFI_ACPI_TABLE_INSTALL_ACPI_TABLE InstallAcpiTable;
+ EFI_ACPI_TABLE_UNINSTALL_ACPI_TABLE UninstallAcpiTable;
+};
+
+//
+// Extern the GUID for protocol users.
+//
+extern EFI_GUID gEfiAcpiTableProtocolGuid;
+
+#endif
diff --git a/OldMdePkg/Include/Protocol/ComponentName2.h b/OldMdePkg/Include/Protocol/ComponentName2.h
new file mode 100644
index 0000000..9187635
--- /dev/null
+++ b/OldMdePkg/Include/Protocol/ComponentName2.h
@@ -0,0 +1,136 @@
+/** @file
+ EFI Component Name 2 Protocol
+
+ 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.
+
+ Module Name: ComponentName2.h
+
+ @par Revision Reference:
+ Component Name 2 Protocol from the UEFI 2.1 specification.
+
+**/
+
+#ifndef _EFI_COMPONENT_NAME2_H_
+#define _EFI_COMPONENT_NAME2_H_
+
+//
+// Global ID for the Component Name Protocol
+//
+
+#define EFI_COMPONENT_NAME2_PROTOCOL_GUID \
+ { \
+ 0x6a7a5cff, 0xe8d9, 0x4f70, {0xba, 0xda, 0x75, 0xab, 0x30, 0x25, 0xce, 0x14} \
+ }
+
+typedef struct _EFI_COMPONENT_NAME2_PROTOCOL EFI_COMPONENT_NAME2_PROTOCOL;
+
+/**
+ Retrieves a Unicode string that is the user readable name of the EFI Driver.
+
+ @param This A pointer to the EFI_COMPONENT_NAME_PROTOCOL
+ instance.
+ @param Language A pointer to a Null-terminated ASCII string array indicating the
+ language. This is the language of the driver name that the caller
+ is requesting, and it must match one of the languages specified in
+ SupportedLanguages. The number of languages supported by a
+ driver is up to the driver writer. Language is specified in RFC
+ 3066 language code format.
+ @param DriverName A pointer to the Unicode string to return. This
+ Unicode string is the name of the driver
+ specified by This in the language specified by
+ Language.
+
+ @retval EFI_SUCCESS The Unicode string for the Driver specified by
+ This and the language specified by Language was
+ returned in DriverName.
+ @retval EFI_INVALID_PARAMETER Language is NULL or DriverName is NULL.
+ @retval EFI_UNSUPPORTED The driver specified by This does not support
+ the language specified by Language.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_COMPONENT_NAME2_GET_DRIVER_NAME) (
+ IN EFI_COMPONENT_NAME2_PROTOCOL *This,
+ IN CHAR8 *Language,
+ OUT CHAR16 **DriverName
+ );
+
+/**
+ Retrieves a Unicode string that is the user readable name of the controller
+ that is being managed by an EFI Driver.
+
+ @param This A pointer to the EFI_COMPONENT_NAME_PROTOCOL
+ instance.
+ @param ControllerHandle The handle of a controller that the driver
+ specified by This is managing. This handle
+ specifies the controller whose name is to be
+ returned.
+ @param ChildHandle The handle of the child controller to retrieve
+ the name of. This is an optional parameter
+ that may be NULL. It will be NULL for device
+ drivers. It will also be NULL for a bus
+ drivers that wish to retrieve the name of the
+ bus controller. It will not be NULL for a bus
+ driver that wishes to retrieve the name of a
+ child controller.
+ @param Language A pointer to a Null- terminated ASCII string array indicating the
+ language. This is the language of the controller name that the
+ caller is requesting, and it must match one of the languages
+ specified in SupportedLanguages. The number of languages
+ supported by a driver is up to the driver writer. Language is
+ specified in RFC 3066 language code format.
+ @param ControllerName A pointer to the Unicode string to return. This
+ Unicode string is the name of the controller
+ specified by ControllerHandle and ChildHandle
+ in the language specified by Language from the
+ point of view of the driver specified by This.
+
+ @retval EFI_SUCCESS The Unicode string for the user readable name in
+ the language specified by Language for the
+ driver specified by This was returned in
+ DriverName.
+ @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE;
+ ChildHandle is not NULL and it is not a valid
+ EFI_HANDLE;Language is NULL;ControllerName is
+ NULL.
+ @retval EFI_UNSUPPORTED The driver specified by This is not currently
+ managing the controller specified by
+ ControllerHandle and ChildHandle;The driver
+ specified by This does not support the language
+ specified by Language.
+
+**/
+typedef
+EFI_STATUS
+(EFIAPI *EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) (
+ IN EFI_COMPONENT_NAME2_PROTOCOL *This,
+ IN EFI_HANDLE ControllerHandle,
+ IN EFI_HANDLE ChildHandle OPTIONAL,
+ IN CHAR8 *Language,
+ OUT CHAR16 **ControllerName
+ );
+
+
+//
+// Interface structure for the Component Name 2 Protocol
+//
+struct _EFI_COMPONENT_NAME2_PROTOCOL {
+ EFI_COMPONENT_NAME2_GET_DRIVER_NAME GetDriverName;
+ EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME GetControllerName;
+ CHAR8 *SupportedLanguages;
+};
+
+//
+// Extern the GUID for protocol users.
+//
+extern EFI_GUID gEfiComponentName2ProtocolGuid;
+
+#endif
diff --git a/OldMdePkg/Include/Uefi/UefiSpec.h b/OldMdePkg/Include/Uefi/UefiSpec.h
index 15b3ac2..6f34077 100644
--- a/OldMdePkg/Include/Uefi/UefiSpec.h
+++ b/OldMdePkg/Include/Uefi/UefiSpec.h
@@ -580,9 +580,10 @@ VOID
//
// Variable attributes
//
-#define EFI_VARIABLE_NON_VOLATILE 0x00000001
-#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
-#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
+#define EFI_VARIABLE_NON_VOLATILE 0x00000001
+#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
+#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
+#define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
/**
Returns the value of a variable.
@@ -2329,7 +2330,7 @@ typedef enum {
//
-// Protocols from EFI 1.10 that got thier names fixed in UEFI 2.0
+// Protocols from EFI 1.10 that got their names fixed in UEFI 2.0
//
#include <Protocol/LoadedImage.h>
#include <Protocol/SimpleTextIn.h>
@@ -2409,8 +2410,11 @@ typedef enum {
#include <Protocol/Mtftp4.h>
#include <Protocol/ServiceBinding.h>
#include <Protocol/Hash.h>
+#include <Protocol/AcpiTable.h>
+#include <Protocol/ComponentName2.h>
#include <Guid/EventGroup.h>
+#include <Guid/HardwareErrorVariable.h>
#endif
diff --git a/OldMdePkg/MdePkg.spd b/OldMdePkg/MdePkg.spd
index e01c584..0c10952 100644
--- a/OldMdePkg/MdePkg.spd
+++ b/OldMdePkg/MdePkg.spd
@@ -352,6 +352,10 @@
<IncludeHeader>Include/Guid/EventGroup.h</IncludeHeader>
<HelpText/>
</IndustryStdHeader>
+ <IndustryStdHeader Name="HardwareErrorVariable">
+ <IncludeHeader>Include/Guid/HardwareErrorVariable.h</IncludeHeader>
+ <HelpText/>
+ </IndustryStdHeader>
<IndustryStdHeader Name="EventLegacyBios">
<IncludeHeader>Include/Guid/EventLegacyBios.h</IncludeHeader>
<HelpText/>
@@ -708,6 +712,10 @@
<IncludeHeader>Include/Protocol/AcpiSupport.h</IncludeHeader>
<HelpText/>
</IndustryStdHeader>
+ <IndustryStdHeader Name="AcpiTable">
+ <IncludeHeader>Include/Protocol/AcpiTable.h</IncludeHeader>
+ <HelpText/>
+ </IndustryStdHeader>
<IndustryStdHeader Name="Arp">
<IncludeHeader>Include/Protocol/Arp.h</IncludeHeader>
<HelpText/>
@@ -736,6 +744,10 @@
<IncludeHeader>Include/Protocol/ComponentName.h</IncludeHeader>
<HelpText/>
</IndustryStdHeader>
+ <IndustryStdHeader Name="ComponentName2">
+ <IncludeHeader>Include/Protocol/ComponentName2.h</IncludeHeader>
+ <HelpText/>
+ </IndustryStdHeader>
<IndustryStdHeader Name="CpuIo">
<IncludeHeader>Include/Protocol/CpuIo.h</IncludeHeader>
<HelpText/>
@@ -1305,6 +1317,11 @@
<GuidValue>1BA0062E-C779-4582-8566-336AE8F78F09</GuidValue>
<HelpText/>
</Entry>
+ <Entry Name="HardwareErrorVariable">
+ <C_Name>gEfiHardwareErrorVariableGuid</C_Name>
+ <GuidValue>414E6BDD-E47B-47CC-B244-BB61020CF516</GuidValue>
+ <HelpText/>
+ </Entry>
<Entry Name="HobList">
<C_Name>gEfiHobListGuid</C_Name>
<GuidValue>7739F24C-93D7-11D4-9A3A-0090273FC14D</GuidValue>
@@ -1657,6 +1674,11 @@
<GuidValue>107A772C-D5E1-11D4-9A46-0090273FC14D</GuidValue>
<HelpText/>
</Entry>
+ <Entry Name="ComponentName2">
+ <C_Name>gEfiComponentName2ProtocolGuid</C_Name>
+ <GuidValue>6A7A5CFF-E8D9-4F70-BADA-75AB3025CE14</GuidValue>
+ <HelpText/>
+ </Entry>
<Entry Name="DebugPort">
<C_Name>gEfiDebugPortProtocolGuid</C_Name>
<GuidValue>EBA4E8D2-3858-41EC-A281-2647BA9660D0</GuidValue>
@@ -1997,6 +2019,11 @@
<GuidValue>DBFF9D55-89B7-46DA-BDDF-677D3DC0241D</GuidValue>
<HelpText/>
</Entry>
+ <Entry Name="AcpiSupport">
+ <C_Name>gEfiAcpiTableProtocolGuid</C_Name>
+ <GuidValue>FFE06BDD-6107-46A6-7BB2-5A9C7EC5275C</GuidValue>
+ <HelpText/>
+ </Entry>
<Entry Name="BootScriptSave">
<C_Name>gEfiBootScriptSaveProtocolGuid</C_Name>
<GuidValue>470E1529-B79E-4E32-A0FE-6A156D29F9B2</GuidValue>