summaryrefslogtreecommitdiff
path: root/Core/EM/CmosManager/CmosManagerHob.h
diff options
context:
space:
mode:
Diffstat (limited to 'Core/EM/CmosManager/CmosManagerHob.h')
-rw-r--r--Core/EM/CmosManager/CmosManagerHob.h139
1 files changed, 139 insertions, 0 deletions
diff --git a/Core/EM/CmosManager/CmosManagerHob.h b/Core/EM/CmosManager/CmosManagerHob.h
new file mode 100644
index 0000000..f460cc7
--- /dev/null
+++ b/Core/EM/CmosManager/CmosManagerHob.h
@@ -0,0 +1,139 @@
+//*************************************************************************
+//*************************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//*************************************************************************
+//*************************************************************************
+
+//**********************************************************************
+// $Header: /Alaska/SOURCE/Modules/CMOS Manager/CMOS Core/CMOS Includes/CmosManagerHob.h 7 6/15/10 2:26p Michaela $
+//
+// $Revision: 7 $
+//
+// $Date: 6/15/10 2:26p $
+//**********************************************************************//
+// Revision History
+// ----------------
+// $Log: /Alaska/SOURCE/Modules/CMOS Manager/CMOS Core/CMOS Includes/CmosManagerHob.h $
+//
+// 7 6/15/10 2:26p Michaela
+//
+// 6 7/29/09 10:00a Michaela
+// updates Aptio Enhancement EIP 22205
+// (no code changes)
+//
+// 5 6/15/09 5:11p Michaela
+//
+// 4 11/17/08 3:52p Michaela
+// --CMOS Buffer feature is depreciated
+//
+// 3 11/14/08 9:17a Michaela
+// **CMOS register variables are changed from UINT8 to UINT16
+//
+// 2 2/29/08 9:35p Michaela
+// - Added recovery path policy
+// - fixed other minor bugs
+//
+// 1 2/22/08 2:29p Michaela
+//
+// 1 2/14/08 12:00p MichaelA
+// Created
+//
+//*****************************************************************************
+
+//<AMI_FHDR_START>
+//---------------------------------------------------------------------------
+//
+// Name: CmosManagerHob.h
+//
+// Description: Contains declarations to support the CMOS Manager
+// CMOS_MANAGER_HOB.
+//
+//---------------------------------------------------------------------------
+//<AMI_FHDR_END>
+
+#ifndef _CMOS_MANAGER_HOB_H
+#define _CMOS_MANAGER_HOB_H
+
+#include <hob.h>
+#include <SspData.h>
+#include "CmosTypes.h"
+
+// Currently the manager's HOB size is calculated during the build process.
+
+// Cannot define arrays of size 0
+#if ((LAST_CMOS_REGISTER - FIRST_CMOS_REGISTER) < 1)
+ #define MANAGED_CMOS_SIZE 1
+#else
+ #define MANAGED_CMOS_SIZE LAST_CMOS_REGISTER - FIRST_CMOS_REGISTER + 2
+#endif
+
+#if (TOTAL_CMOS_TOKENS < 1)
+ #define TOKEN_COUNT 1
+#else
+ #define TOKEN_COUNT TOTAL_CMOS_TOKENS + 1
+#endif
+
+#if (TOTAL_NOT_CHECKSUMMED < 1)
+ #define NO_CHECKSUM_COUNT 1
+#else
+ #define NO_CHECKSUM_COUNT TOTAL_NOT_CHECKSUMMED + 1
+#endif
+
+
+// CMOS_MANAGER_HOB GUID
+//--------------------------------------------------------------
+// {D5367802-B873-4c0f-B544-31B7CCF5C555}
+#define CMOS_MANAGER_HOB_GUID \
+{0xd5367802, 0xb873, 0x4c0f, 0xb5, 0x44, 0x31, 0xb7, 0xcc, 0xf5, 0xc5, 0x55}
+
+
+// PPI notification that CMOS_MANAGER_HOB is installed
+//--------------------------------------------------------------
+// {5A6A93F4-2907-4a34-BD11-6CA8A0959E09}
+#define EFI_CMOS_DATA_HOB_INSTALLED_GUID \
+{ 0x5a6a93f4, 0x2907, 0x4a34, 0xbd, 0x11, 0x6c, 0xa8, 0xa0, 0x95, 0x9e, 0x9 }
+
+
+// Table indexes - For all tables, the first valid index is 1
+//
+// OptimalDefaultTable - OptimalDefaultTable[1] = FIRST_CMOS_REGISTER
+//
+typedef struct _CMOS_MANAGER_HOB {
+ EFI_HOB_GUID_TYPE Header;
+ CMOS_MANAGER_STATUS ManagerStatus;
+ CMOS_CHECKSUM Checksum;
+ UINT16 FirstManagedRegister;
+ UINT16 LastManagedRegister;
+ UINT16 TokenCount;
+ CMOS_TOKEN TokenTable[TOKEN_COUNT]; // NULL at index 0
+ UINT16 OptimalDefaultCount;
+ CMOS_REGISTER OptimalDefaultTable[MANAGED_CMOS_SIZE];
+ UINT16 NoChecksumCount;
+ CMOS_REGISTER NoChecksumTable[NO_CHECKSUM_COUNT];
+ UINT16 UnmanagedTableCount;
+ CMOS_REGISTER UnmanagedTable[TOKEN_COUNT]; // DEBUG change when AmiSsp2.exe is updated
+} CMOS_MANAGER_HOB;
+
+#endif
+
+//*************************************************************************
+//*************************************************************************
+//** **
+//** (C)Copyright 1985-2009, American Megatrends, Inc. **
+//** **
+//** All Rights Reserved. **
+//** **
+//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+//** **
+//** Phone: (770)-246-8600 **
+//** **
+//*************************************************************************
+//*************************************************************************