Revision: 17388
http://sourceforge.net/p/edk2/code/17388
Author: lzeng14
Date: 2015-05-11 02:05:52 +0000 (Mon, 11 May 2015)
Log Message:
-----------
MdePkg: Add Reset2 ppi definition.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <[email protected]>
Reviewed-by: Liming Gao <[email protected]>
Modified Paths:
--------------
trunk/edk2/MdePkg/Include/Pi/PiPeiCis.h
trunk/edk2/MdePkg/Include/Uefi/UefiMultiPhase.h
trunk/edk2/MdePkg/Include/Uefi/UefiSpec.h
trunk/edk2/MdePkg/MdePkg.dec
Added Paths:
-----------
trunk/edk2/MdePkg/Include/Ppi/Reset2.h
Modified: trunk/edk2/MdePkg/Include/Pi/PiPeiCis.h
===================================================================
--- trunk/edk2/MdePkg/Include/Pi/PiPeiCis.h 2015-05-11 01:44:35 UTC (rev
17387)
+++ trunk/edk2/MdePkg/Include/Pi/PiPeiCis.h 2015-05-11 02:05:52 UTC (rev
17388)
@@ -1,7 +1,7 @@
/** @file
PI PEI master include file. This file should match the PI spec.
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under
the terms and conditions of the BSD License that accompanies this
distribution.
The full text of the license may be found at
@@ -585,6 +585,30 @@
);
/**
+ Resets the entire platform.
+
+ @param[in] ResetType The type of reset to perform.
+ @param[in] ResetStatus The status code for the reset.
+ @param[in] DataSize The size, in bytes, of WatchdogData.
+ @param[in] ResetData For a ResetType of EfiResetCold, EfiResetWarm, or
EfiResetShutdown
+ the data buffer starts with a Null-terminated
string, optionally
+ followed by additional binary data. The string is
a description
+ that the caller may use to further indicate the
reason for the
+ system reset. ResetData is only valid if
ResetStatus is something
+ other than EFI_SUCCESS unless the ResetType is
EfiResetPlatformSpecific
+ where a minimum amount of ResetData is always
required.
+
+**/
+typedef
+VOID
+(EFIAPI *EFI_PEI_RESET2_SYSTEM) (
+ IN EFI_RESET_TYPE ResetType,
+ IN EFI_STATUS ResetStatus,
+ IN UINTN DataSize,
+ IN VOID *ResetData OPTIONAL
+ );
+
+/**
Find a file within a volume by its name.
This service searches for files with a specific name, within
@@ -903,6 +927,7 @@
EFI_PEI_REGISTER_FOR_SHADOW RegisterForShadow;
EFI_PEI_FFS_FIND_SECTION_DATA3 FindSectionData3;
EFI_PEI_FFS_GET_FILE_INFO2 FfsGetFileInfo2;
+ EFI_PEI_RESET2_SYSTEM ResetSystem2;
};
Added: trunk/edk2/MdePkg/Include/Ppi/Reset2.h
===================================================================
--- trunk/edk2/MdePkg/Include/Ppi/Reset2.h (rev 0)
+++ trunk/edk2/MdePkg/Include/Ppi/Reset2.h 2015-05-11 02:05:52 UTC (rev
17388)
@@ -0,0 +1,38 @@
+/** @file
+ This file declares Reset2 PPI used to reset the platform.
+
+ This PPI is installed by some platform- or chipset-specific PEIM that
+ abstracts the Reset Service to other agents.
+
+ Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+ 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.
+
+ @par Revision Reference:
+ This PPI is introduced in PI Version 1.4.
+
+**/
+
+#ifndef __RESET2_PPI_H__
+#define __RESET2_PPI_H__
+
+#define EFI_PEI_RESET2_PPI_GUID \
+ { \
+ 0x6cc45765, 0xcce4, 0x42fd, {0xbc, 0x56, 0x1, 0x1a, 0xaa, 0xc6, 0xc9, 0xa8
} \
+ }
+
+///
+/// This PPI provides provide a simple reset service.
+///
+typedef struct _EFI_PEI_RESET2_PPI {
+ EFI_PEI_RESET2_SYSTEM ResetSystem;
+} EFI_PEI_RESET2_PPI;
+
+extern EFI_GUID gEfiPeiReset2PpiGuid;
+
+#endif
Modified: trunk/edk2/MdePkg/Include/Uefi/UefiMultiPhase.h
===================================================================
--- trunk/edk2/MdePkg/Include/Uefi/UefiMultiPhase.h 2015-05-11 01:44:35 UTC
(rev 17387)
+++ trunk/edk2/MdePkg/Include/Uefi/UefiMultiPhase.h 2015-05-11 02:05:52 UTC
(rev 17388)
@@ -91,6 +91,39 @@
} EFI_MEMORY_TYPE;
///
+/// Enumeration of reset types.
+///
+typedef enum {
+ ///
+ /// Used to induce a system-wide reset. This sets all circuitry within the
+ /// system to its initial state. This type of reset is asynchronous to
system
+ /// operation and operates withgout regard to cycle boundaries. EfiColdReset
+ /// is tantamount to a system power cycle.
+ ///
+ EfiResetCold,
+ ///
+ /// Used to induce a system-wide initialization. The processors are set to
their
+ /// initial state, and pending cycles are not corrupted. If the system does
+ /// not support this reset type, then an EfiResetCold must be performed.
+ ///
+ EfiResetWarm,
+ ///
+ /// Used to induce an entry into a power state equivalent to the ACPI G2/S5
or G3
+ /// state. If the system does not support this reset type, then when the
system
+ /// is rebooted, it should exhibit the EfiResetCold attributes.
+ ///
+ EfiResetShutdown,
+ ///
+ /// Used to induce a system-wide reset. The exact type of the reset is
defined by
+ /// the EFI_GUID that follows the Null-terminated Unicode string passed into
+ /// ResetData. If the platform does not recognize the EFI_GUID in ResetData
the
+ /// platform must pick a supported reset type to perform. The platform may
+ /// optionally log the parameters from any non-normal reset that occurs.
+ ///
+ EfiResetPlatformSpecific
+} EFI_RESET_TYPE;
+
+///
/// Data structure that precedes all of the standard EFI table types.
///
typedef struct {
Modified: trunk/edk2/MdePkg/Include/Uefi/UefiSpec.h
===================================================================
--- trunk/edk2/MdePkg/Include/Uefi/UefiSpec.h 2015-05-11 01:44:35 UTC (rev
17387)
+++ trunk/edk2/MdePkg/Include/Uefi/UefiSpec.h 2015-05-11 02:05:52 UTC (rev
17388)
@@ -980,39 +980,6 @@
IN CHAR16 *WatchdogData OPTIONAL
);
-///
-/// Enumeration of reset types.
-///
-typedef enum {
- ///
- /// Used to induce a system-wide reset. This sets all circuitry within the
- /// system to its initial state. This type of reset is asynchronous to
system
- /// operation and operates withgout regard to cycle boundaries.
EfiColdReset
- /// is tantamount to a system power cycle.
- ///
- EfiResetCold,
- ///
- /// Used to induce a system-wide initialization. The processors are set to
their
- /// initial state, and pending cycles are not corrupted. If the system does
- /// not support this reset type, then an EfiResetCold must be performed.
- ///
- EfiResetWarm,
- ///
- /// Used to induce an entry into a power state equivalent to the ACPI G2/S5
or G3
- /// state. If the system does not support this reset type, then when the
system
- /// is rebooted, it should exhibit the EfiResetCold attributes.
- ///
- EfiResetShutdown,
- ///
- /// Used to induce a system-wide reset. The exact type of the reset is
defined by
- /// the EFI_GUID that follows the Null-terminated Unicode string passed into
- /// ResetData. If the platform does not recognize the EFI_GUID in ResetData
the
- /// platform must pick a supported reset type to perform. The platform may
- /// optionally log the parameters from any non-normal reset that occurs.
- ///
- EfiResetPlatformSpecific
-} EFI_RESET_TYPE;
-
/**
Resets the entire platform.
Modified: trunk/edk2/MdePkg/MdePkg.dec
===================================================================
--- trunk/edk2/MdePkg/MdePkg.dec 2015-05-11 01:44:35 UTC (rev 17387)
+++ trunk/edk2/MdePkg/MdePkg.dec 2015-05-11 02:05:52 UTC (rev 17388)
@@ -825,6 +825,9 @@
## Keep name backwards compatible before PI Version 1.4
gPeiCapsulePpiGuid = { 0x3acf33ee, 0xd892, 0x40f4, { 0xa2,
0xfc, 0x38, 0x54, 0xd2, 0xe1, 0x32, 0x3d }}
+ ## Include/Ppi/Reset2.h
+ gEfiPeiReset2PpiGuid = { 0x6cc45765, 0xcce4, 0x42fd, {0xbc, 0x56, 0x1, 0x1a,
0xaa, 0xc6, 0xc9, 0xa8 } }
+
[Protocols]
## Include/Protocol/Pcd.h
gPcdProtocolGuid = { 0x11B34006, 0xD85B, 0x4D0A, { 0xA2, 0x90,
0xD5, 0xA5, 0x71, 0x31, 0x0E, 0xF7 }}
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits