]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add GlueLib SmmRuntimeDxeReportStatusCodeLib into EdkCompatibilityPkg , which provide...
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 15 Mar 2010 09:24:26 +0000 (09:24 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 15 Mar 2010 09:24:26 +0000 (09:24 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10245 6f19259b-4bc3-4df7-8a09-765794883524

EdkCompatibilityPkg/EdkCompatibilityPkg.dsc
EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/EntryPoints/EdkIIGlueDxeDriverEntryPoint.c
EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/EntryPoints/EdkIIGlueSmmDriverEntryPoint.c
EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Include/Common/EdkIIGlueDependencies.h

index 73604ea53b0a0119cec665774711e8184fb684e7..efd9f6a146ab44a8db7293d4845a24bef59c2f83 100644 (file)
@@ -203,6 +203,7 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x00020000 -DPI_S
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeMemoryAllocationLib/DxeMemoryAllocationLib.inf\r
 \r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/SmmRuntimeDxeReportStatusCodeLib/SmmRuntimeDxeReportStatusCodeLib.inf  \r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeSmbusLib/DxeSmbusLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/EdkDxeRuntimeDriverLib/EdkDxeRuntimeDriverLib.inf\r
@@ -365,6 +366,7 @@ define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x00020000 -DPI_S
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeHobLib/DxeHobLib.inf \r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf \r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf \r
+  EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/SmmRuntimeDxeReportStatusCodeLib/SmmRuntimeDxeReportStatusCodeLib.inf\r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/HiiLib/HiiLib.inf \r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/PeiServicesTablePointerLibKr1/PeiServicesTablePointerLibKr1.inf \r
   EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/UefiDevicePathLib/UefiDevicePathLib.inf \r
index 28b8b6e29deaf85ce45d3f3436738a81df841eca..7991de6e73980802b8fcf24d4956a1a85d1efebc 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
 \r
-Copyright (c) 2004 - 2007, Intel Corporation                                                         \r
+Copyright (c) 2004 - 2010, Intel Corporation                                                         \r
 All rights reserved. This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -239,7 +239,8 @@ ProcessLibraryConstructorList (
     || defined(__EDKII_GLUE_DXE_SMBUS_LIB__)                \\r
     || defined(__EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__) \\r
     || defined(__EDKII_GLUE_EDK_DXE_SAL_LIB__)              \\r
-    || defined(__EDKII_GLUE_DXE_IO_LIB_CPU_IO__)\r
+    || defined(__EDKII_GLUE_DXE_IO_LIB_CPU_IO__)            \\r
+    || defined(__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__)\r
   EFI_STATUS  Status;\r
 #endif\r
 \r
@@ -256,6 +257,7 @@ ProcessLibraryConstructorList (
 // DxeSmbusLib                  SmbusLibConstructor()    \r
 // DxeServicesTableLib          DxeServicesTableLibConstructor()\r
 // UefiRuntimeServicesTableLib  UefiRuntimeServicesTableLibConstructor() \r
+// SmmRuntimeDxeReportStatusCodeLib ReportStatusCodeLibConstruct()\r
 // \r
 \r
 #ifdef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__\r
@@ -293,6 +295,11 @@ ProcessLibraryConstructorList (
   ASSERT_EFI_ERROR (Status); \r
 #endif\r
 \r
+#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__\r
+  Status = ReportStatusCodeLibConstruct (ImageHandle, SystemTable);\r
+  ASSERT_EFI_ERROR (Status);\r
+#endif\r
+\r
 #ifdef __EDKII_GLUE_DXE_HOB_LIB__\r
   Status = HobLibConstructor (ImageHandle, SystemTable);\r
   ASSERT_EFI_ERROR (Status);\r
@@ -315,7 +322,9 @@ ProcessLibraryDestructorList (
   IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-#if defined (__EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__) || defined (__EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__)\r
+#if defined (__EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__) \\r
+    || defined (__EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__) \\r
+    || defined (__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__)\r
   EFI_STATUS  Status;    \r
 #endif\r
 \r
@@ -327,6 +336,11 @@ ProcessLibraryDestructorList (
   ASSERT_EFI_ERROR (Status);\r
 #endif\r
 \r
+#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__\r
+  Status = ReportStatusCodeLibDestruct (ImageHandle, SystemTable);\r
+  ASSERT_EFI_ERROR (Status);\r
+#endif\r
+\r
 #ifdef __EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__\r
   Status = RuntimeDriverLibDeconstruct (ImageHandle, SystemTable);\r
   ASSERT_EFI_ERROR (Status);\r
index 6dd128af8c8f83225934499bac6d9bc0c0ac141d..c359bbb6270a0511b245f780ee5e9e98c2f8e1eb 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
 \r
-Copyright (c) 2004 - 2009, Intel Corporation                                                         \r
+Copyright (c) 2004 - 2010, Intel Corporation                                                         \r
 All rights reserved. This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -67,27 +67,28 @@ ProcessLibraryConstructorList (
 //\r
 #if defined(__EDKII_GLUE_DXE_HOB_LIB__)                     \\r
     || defined(__EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__) \\r
-    || defined(__EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__)        \\r
-    || defined(__EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__)   \\r
     || defined(__EDKII_GLUE_DXE_SERVICES_TABLE_LIB__)       \\r
     || defined(__EDKII_GLUE_DXE_SMBUS_LIB__)                \\r
     || defined(__EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__) \\r
-    || defined(__EDKII_GLUE_DXE_IO_LIB_CPU_IO__)\r
+    || defined(__EDKII_GLUE_DXE_IO_LIB_CPU_IO__)            \\r
+    || defined(__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__)\r
   EFI_STATUS  Status;\r
 #endif\r
 \r
 //\r
 // EdkII Glue Library Constructors: \r
 // NOTE: the constructors must be called according to dependency order\r
+// NOTE: compared with EdkIIGlueDxeDriverEntryPoint.c, the EdkDxeRuntimeDriverLib\r
+//       and the UefiDriverModelLib are not applicable for SMM Drivers so not listed\r
+//       here\r
 //\r
 // UefiBootServicesTableLib     UefiBootServicesTableLibConstructor()\r
 // DxeIoLibCpuIo                IoLibConstructor \r
-//   EdkDxeRuntimeDriverLib       RuntimeDriverLibConstruct()   \r
 // DxeHobLib                    HobLibConstructor()\r
-//   UefiDriverModelLib           UefiDriverModelLibConstructor()\r
 // DxeSmbusLib                  SmbusLibConstructor()    \r
 // DxeServicesTableLib          DxeServicesTableLibConstructor()\r
 // UefiRuntimeServicesTableLib  UefiRuntimeServicesTableLibConstructor() \r
+// SmmRuntimeDxeReportStatusCodeLib ReportStatusCodeLibConstruct()\r
 // check here: check lib usage\r
 #ifdef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__\r
   Status = UefiBootServicesTableLibConstructor (ImageHandle, SystemTable);\r
@@ -99,26 +100,21 @@ ProcessLibraryConstructorList (
   ASSERT_EFI_ERROR (Status);\r
 #endif\r
 \r
-#ifdef __EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__\r
-  Status = RuntimeDriverLibConstruct (ImageHandle, SystemTable);\r
-  ASSERT_EFI_ERROR (Status);\r
-#endif\r
-\r
 #ifdef __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__\r
   Status = UefiRuntimeServicesTableLibConstructor (ImageHandle, SystemTable);\r
   ASSERT_EFI_ERROR (Status);\r
 #endif\r
 \r
-#ifdef __EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__\r
-  Status = UefiDriverModelLibConstructor (ImageHandle, SystemTable);\r
-  ASSERT_EFI_ERROR (Status);\r
-#endif\r
-\r
 #ifdef __EDKII_GLUE_DXE_SERVICES_TABLE_LIB__\r
   Status = DxeServicesTableLibConstructor (ImageHandle, SystemTable);\r
   ASSERT_EFI_ERROR (Status); \r
 #endif\r
 \r
+#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__\r
+  Status = ReportStatusCodeLibConstruct (ImageHandle, SystemTable);\r
+  ASSERT_EFI_ERROR (Status);\r
+#endif\r
+\r
 #ifdef __EDKII_GLUE_DXE_HOB_LIB__\r
   Status = HobLibConstructor (ImageHandle, SystemTable);\r
   ASSERT_EFI_ERROR (Status);\r
@@ -140,6 +136,17 @@ ProcessLibraryDestructorList (
   IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
+#if defined (__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__)\r
+  EFI_STATUS  Status;    \r
+#endif\r
+\r
+//\r
+// NOTE: the destructors must be called according to dependency order\r
+//\r
+#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__\r
+  Status = ReportStatusCodeLibDestruct (ImageHandle, SystemTable);\r
+  ASSERT_EFI_ERROR (Status);\r
+#endif\r
 }\r
 \r
 EFI_BOOT_SERVICES  *mBS;\r
index c28debd6f118c8156796906de40974b784a971f2..8f46915939e4597a40963f740feedb7e39c5d554 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
 \r
-Copyright (c) 2004 - 2006, Intel Corporation                                                         \r
+Copyright (c) 2004 - 2010, Intel Corporation                                                         \r
 All rights reserved. This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
@@ -225,6 +225,24 @@ Abstract:
   #endif\r
 #endif\r
 \r
+//\r
+// SmmRuntimeDxeReportStatusCodeLib - typically used by SMM driver and Runtime driver\r
+//\r
+#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__\r
+  #ifndef __EDKII_GLUE_BASE_LIB__\r
+  #define __EDKII_GLUE_BASE_LIB__\r
+  #endif\r
+  #ifndef __EDKII_GLUE_BASE_MEMORY_LIB__\r
+  #define __EDKII_GLUE_BASE_MEMORY_LIB__\r
+  #endif\r
+  #ifndef __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__\r
+  #define __EDKII_GLUE_UEFI_BOOT_SERVICES_TABLE_LIB__\r
+  #endif\r
+  #ifndef __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__\r
+  #define __EDKII_GLUE_UEFI_RUNTIME_SERVICES_TABLE_LIB__\r
+  #endif\r
+#endif\r
+\r
 //\r
 // PeiReportStatusCodeLib\r
 //\r
@@ -645,6 +663,14 @@ Abstract:
   #error EdkIIGlueDxeReportStatusCodeLib and EdkIIGluePeiReportStatusCodeLib: can only be mutual exclusively used.\r
 #endif\r
 \r
+#if defined(__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__) && defined(__EDKII_GLUE_PEI_REPORT_STATUS_CODE_LIB__)\r
+  #error EdkIIGlueSmmRuntimeDxeReportStatusCodeLib and EdkIIGluePeiReportStatusCodeLib: can only be mutual exclusively used.\r
+#endif\r
+\r
+#if defined(__EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__) && defined(__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__)\r
+  #error EdkIIGlueDxeReportStatusCodeLib and EdkIIGlueSmmRuntimeDxeReportStatusCodeLib: can only be mutual exclusively used.\r
+#endif\r
+\r
 #if defined(__EDKII_GLUE_DXE_MEMORY_ALLOCATION_LIB__) && defined(__EDKII_GLUE_PEI_MEMORY_ALLOCATION_LIB__)\r
   #error EdkIIGlueDxeMemoryAllocationLib and EdkIIGluePeiMemoryAllocationLib: can only be mutual exclusively used.\r
 #endif\r
@@ -661,8 +687,12 @@ Abstract:
 // Some instances must be supplied\r
 //\r
 #ifdef __EDKII_GLUE_PEI_DXE_DEBUG_LIB_REPORT_STATUS_CODE__\r
-  #if !defined(__EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__) && !defined(__EDKII_GLUE_PEI_REPORT_STATUS_CODE_LIB__)\r
-    #error You use EdkIIGluePeiDxeDebugLibReportStatusCode, so either EdkIIGlueDxeReportStatusCodeLib or EdkIIGluePeiReportStatusCodeLib must be supplied\r
+  #if !defined(__EDKII_GLUE_DXE_REPORT_STATUS_CODE_LIB__) \\r
+      && !defined(__EDKII_GLUE_PEI_REPORT_STATUS_CODE_LIB__) \\r
+      && !defined(__EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__)\r
+    #error You use EdkIIGluePeiDxeDebugLibReportStatusCode, \\r
+      so either EdkIIGlueDxeReportStatusCodeLib, EdkIIGluePeiReportStatusCodeLib, \\r
+      or EdkIIGlueSmmRuntimeDxeReportStatusCodeLib must be supplied\r
   #endif\r
 #endif\r
 \r
@@ -689,6 +719,7 @@ Abstract:
 // DxeIoLibCpuIo                    IoLibConstructor()\r
 // UefiRuntimeServicesTableLib      UefiRuntimeServicesTableLibConstructor()\r
 // EdkDxeRuntimeDriverLib           RuntimeDriverLibConstruct()\r
+// SmmRuntimeDxeReportStatusCodeLib ReportStatusCodeLibConstruct()\r
 // DxeHobLib                        HobLibConstructor()\r
 // UefiDriverModelLib               UefiDriverModelLibConstructor()\r
 // PeiServicesTablePointerLib       PeiServicesTablePointerLibConstructor()\r
@@ -735,6 +766,15 @@ RuntimeDriverLibConstruct (
   );\r
 #endif\r
 \r
+#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__\r
+EFI_STATUS\r
+EFIAPI\r
+ReportStatusCodeLibConstruct (\r
+  IN EFI_HANDLE           ImageHandle,\r
+  IN EFI_SYSTEM_TABLE     *SystemTable\r
+  );\r
+#endif\r
+\r
 #ifdef __EDKII_GLUE_DXE_HOB_LIB__\r
 EFI_STATUS\r
 EFIAPI\r
@@ -812,6 +852,7 @@ DxeSalLibConstructor (
 // NOTE: the destructors must be called according to dependency order\r
 //\r
 // UefiDriverModelLibDestructor    UefiDriverModelLibDestructor()\r
+// SmmRuntimeDxeReportStatusCodeLib ReportStatusCodeLibDestruct()\r
 // EdkDxeRuntimeDriverLib          RuntimeDriverLibDeconstruct()\r
 //\r
 #ifdef __EDKII_GLUE_UEFI_DRIVER_MODEL_LIB__\r
@@ -823,6 +864,15 @@ UefiDriverModelLibDestructor (
   );\r
 #endif\r
 \r
+#ifdef __EDKII_GLUE_SMM_RUNTIME_DXE_REPORT_STATUS_CODE_LIB__\r
+EFI_STATUS\r
+EFIAPI\r
+ReportStatusCodeLibDestruct (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
+  );\r
+#endif\r
+\r
 #ifdef __EDKII_GLUE_EDK_DXE_RUNTIME_DRIVER_LIB__\r
 EFI_STATUS\r
 EFIAPI\r