summaryrefslogtreecommitdiffstats
path: root/EdkNt32Pkg
diff options
context:
space:
mode:
authoryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-21 14:28:01 +0000
committeryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-21 14:28:01 +0000
commit9fbf943fc137d3f7f3172cbf4ef42594b0e28679 (patch)
treed4e6c3f204e300a99aef2929a488a5d54a3210db /EdkNt32Pkg
parentba53dd4a1a070ab69a29f013f037fb8c8ce4bcc7 (diff)
downloadedk2-9fbf943fc137d3f7f3172cbf4ef42594b0e28679.tar.gz
edk2-9fbf943fc137d3f7f3172cbf4ef42594b0e28679.tar.bz2
edk2-9fbf943fc137d3f7f3172cbf4ef42594b0e28679.zip
1) Check in Pei/Dxe status code;
2) OemHookStatusCodeLib and SerialPortLib class and null instance; 3) Remove all referenced code from EdkModulePkg,EdkNt32Pkg. 4) Add Nt32OemHookStatusCodeLib. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1069 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkNt32Pkg')
-rw-r--r--EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.c150
-rw-r--r--EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.dxs28
-rw-r--r--EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.h111
-rw-r--r--EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.msa81
-rw-r--r--EdkNt32Pkg/Pei/MonoStatusCode/PlatformStatusCode.c164
5 files changed, 0 insertions, 534 deletions
diff --git a/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.c b/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.c
deleted file mode 100644
index 27c73f576e..0000000000
--- a/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*++
-
-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:
-
- MonoStatusCode.c
-
-Abstract:
-
- PEIM to provide the status code functionality, to aid in system debug.
- It includes output to 0x80 port and/or to serial port.
- This PEIM is monolithic. Different platform should provide different library.
-
---*/
-
-#include "MonoStatusCode.h"
-
-//
-// Module globals
-//
-//
-EFI_PEI_PROGRESS_CODE_PPI mStatusCodePpi = { PlatformReportStatusCode };
-
-EFI_PEI_PPI_DESCRIPTOR mPpiListStatusCode = {
- (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
- &gEfiPeiStatusCodePpiGuid,
- &mStatusCodePpi
-};
-
-//
-// Function implemenations
-//
-EFI_STATUS
-EFIAPI
-TranslateDxeStatusCodeToPeiStatusCode (
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN EFI_GUID * CallerId,
- IN EFI_STATUS_CODE_DATA * Data OPTIONAL
- )
-/*++
-
-Routine Description:
-
- Translate from a DXE status code interface into a PEI-callable
- interface, making the PEI the least common denominator..
-
-Arguments:
-
- Same as DXE ReportStatusCode RT service
-
-Returns:
-
- None
-
---*/
-{
- return PlatformReportStatusCode (NULL, CodeType, Value, Instance, CallerId, Data);
-}
-
-EFI_STATUS
-EFIAPI
-InitializeDxeReportStatusCode (
- IN EFI_PEI_SERVICES **PeiServices
- )
-/*++
-
-Routine Description:
-
- Build a hob describing the status code listener that has been installed.
- This will be used by DXE code until a runtime status code listener is
- installed.
-
-Arguments:
-
- PeiServices - General purpose services available to every PEIM.
-
-Returns:
-
- Status - EFI_SUCCESS if the interface could be successfully
- installed
-
---*/
-{
- VOID *Instance;
- VOID *HobData;
-
- Instance = (VOID *) (UINTN) TranslateDxeStatusCodeToPeiStatusCode;
-
- HobData = BuildGuidDataHob (
- &gEfiStatusCodeRuntimeProtocolGuid,
- &Instance,
- sizeof (VOID *)
- );
-
- ASSERT (HobData != NULL);
- return EFI_SUCCESS;
-}
-
-VOID
-EFIAPI
-InitializeMonoStatusCode (
- IN EFI_FFS_FILE_HEADER *FfsHeader,
- IN EFI_PEI_SERVICES **PeiServices
- )
-/*++
-
-Routine Description:
-
- Initialize the platform status codes and publish the platform status code
- PPI.
-
-Arguments:
-
- FfsHeader - FV this PEIM was loaded from.
- PeiServices - General purpose services available to every PEIM.
-
-Returns:
-
- Status - EFI_SUCCESS
-
---*/
-{
- EFI_STATUS Status;
-
- //
- // Initialize status code listeners.
- //
- PlatformInitializeStatusCode (FfsHeader, PeiServices);
-
- //
- // Publish the status code capability to other modules
- //
- Status = (*PeiServices)->InstallPpi (PeiServices, &mPpiListStatusCode);
-
- ASSERT_EFI_ERROR (Status);
-
- DEBUG ((EFI_D_ERROR, "\nMono Status Code PEIM Loaded\n"));
-
- return ;
-}
diff --git a/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.dxs b/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.dxs
deleted file mode 100644
index 3c86da0c63..0000000000
--- a/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.dxs
+++ /dev/null
@@ -1,28 +0,0 @@
-/*++
-
-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:
-
- MonoStatusCode.dxs
-
-Abstract:
-
- Dependency expression file for monolithic Status Code PEIM.
-
---*/
-#include <AutoGen.h>
-#include <PeimDepex.h>
-
-DEPENDENCY_START
- TRUE
-DEPENDENCY_END
-
-
diff --git a/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.h b/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.h
deleted file mode 100644
index 38a9022558..0000000000
--- a/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*++
-
-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:
-
- MonoStatusCode.h
-
-Abstract:
-
- Monolithic single PEIM to provide the status code functionality.
- The PEIM is a blend of libraries that correspond to the different status code
- listeners that a platform installs.
-
---*/
-
-#ifndef _MONO_STATUS_CODE_H_
-#define _MONO_STATUS_CODE_H_
-
-//
-// Platform specific function Declarations. These must be implemented in a
-// subdirectory named PlatformName in a file named PlatformStatusCode.c.
-// See D845GRG\PlatformStatusCode.c for an example of a simple status code
-// implementation.
-// See Nt32\PlatformStatusCode.c for an example of a status code implementation
-// that relocates itself into memory.
-//
-//
-// This is the driver entry point and must be defined.
-//
-EFI_STATUS
-EFIAPI
-InstallMonoStatusCode (
- IN EFI_FFS_FILE_HEADER *FfsHeader,
- IN EFI_PEI_SERVICES **PeiServices
- )
-;
-
-//
-// This is the platform function to initialize the listeners desired by the
-// platform.
-//
-VOID
-PlatformInitializeStatusCode (
- IN EFI_FFS_FILE_HEADER *FfsHeader,
- IN EFI_PEI_SERVICES **PeiServices
- )
-;
-
-//
-// This is the platform function that calls all of the listeners desired by the
-// platform.
-//
-EFI_STATUS
-EFIAPI
-PlatformReportStatusCode (
- IN EFI_PEI_SERVICES **PeiServices,
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN EFI_GUID * CallerId,
- IN EFI_STATUS_CODE_DATA * Data OPTIONAL
- )
-;
-
-//
-// Platform independent function Declarations
-//
-//
-// Initialize the status code listeners and publish the status code PPI.
-//
-VOID
-EFIAPI
-InitializeMonoStatusCode (
- IN EFI_FFS_FILE_HEADER *FfsHeader,
- IN EFI_PEI_SERVICES **PeiServices
- )
-;
-
-//
-// Convert a DXE status code call into a PEI status code call.
-//
-EFI_STATUS
-EFIAPI
-TranslateDxeStatusCodeToPeiStatusCode (
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN EFI_GUID * CallerId,
- IN EFI_STATUS_CODE_DATA * Data OPTIONAL
- )
-;
-
-//
-// Publish a HOB that contains the listener to be used by DXE.
-//
-EFI_STATUS
-EFIAPI
-InitializeDxeReportStatusCode (
- IN EFI_PEI_SERVICES **PeiServices
- )
-;
-
-#endif
diff --git a/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.msa b/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.msa
deleted file mode 100644
index b56436db27..0000000000
--- a/EdkNt32Pkg/Pei/MonoStatusCode/MonoStatusCode.msa
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--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.-->
-<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
- <MsaHeader>
- <ModuleName>MonoStatusCode</ModuleName>
- <ModuleType>PEIM</ModuleType>
- <GuidValue>1501614E-0E6C-4ef4-8B8F-C276CDFB646F</GuidValue>
- <Version>1.0</Version>
- <Abstract>Mono status code driver</Abstract>
- <Description>
- PEIM to provide the status code functionality, to aid in system debug.
- It includes output to 0x80 port and/or to serial port.
- This PEIM is monolithic. Different platform should provide different library.
- </Description>
- <Copyright>Copyright (c) 2006, 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>
- </MsaHeader>
- <ModuleDefinitions>
- <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
- <BinaryModule>false</BinaryModule>
- <OutputFileBasename>MonoStatusCode</OutputFileBasename>
- </ModuleDefinitions>
- <LibraryClassDefinitions>
- <LibraryClass Usage="ALWAYS_CONSUMED">
- <Keyword>DebugLib</Keyword>
- </LibraryClass>
- <LibraryClass Usage="ALWAYS_CONSUMED">
- <Keyword>PeimEntryPoint</Keyword>
- </LibraryClass>
- <LibraryClass Usage="ALWAYS_CONSUMED">
- <Keyword>EdkMemoryStatusCodeLib</Keyword>
- </LibraryClass>
- <LibraryClass Usage="ALWAYS_CONSUMED">
- <Keyword>HobLib</Keyword>
- </LibraryClass>
- </LibraryClassDefinitions>
- <SourceFiles>
- <Filename>MonoStatusCode.dxs</Filename>
- <Filename>MonoStatusCode.h</Filename>
- <Filename>MonoStatusCode.c</Filename>
- <Filename>PlatformStatusCode.c</Filename>
- </SourceFiles>
- <PackageDependencies>
- <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
- <Package PackageGuid="B6EC423C-21D2-490D-85C6-DD5864EAA674"/>
- <Package PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3"/>
- </PackageDependencies>
- <Protocols>
- <Protocol Usage="SOMETIMES_CONSUMED">
- <ProtocolCName>gEfiStatusCodeRuntimeProtocolGuid</ProtocolCName>
- </Protocol>
- </Protocols>
- <PPIs>
- <Ppi Usage="ALWAYS_CONSUMED">
- <PpiCName>gEfiPeiStatusCodePpiGuid</PpiCName>
- </Ppi>
- <Ppi Usage="SOMETIMES_CONSUMED">
- <PpiCName>gEfiPeiFvFileLoaderPpiGuid</PpiCName>
- </Ppi>
- </PPIs>
- <Externs>
- <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
- <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
- <Extern>
- <ModuleEntryPoint>InstallMonoStatusCode</ModuleEntryPoint>
- </Extern>
- </Externs>
-</ModuleSurfaceArea> \ No newline at end of file
diff --git a/EdkNt32Pkg/Pei/MonoStatusCode/PlatformStatusCode.c b/EdkNt32Pkg/Pei/MonoStatusCode/PlatformStatusCode.c
deleted file mode 100644
index 919ab05ee7..0000000000
--- a/EdkNt32Pkg/Pei/MonoStatusCode/PlatformStatusCode.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*++
-
-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:
-
- PlatformStatusCode.c
-
-Abstract:
-
- Contains NT32 specific implementations required to use status codes.
-
---*/
-
-#include "MonoStatusCode.h"
-
-
-BOOLEAN gRunningFromMemory = FALSE;
-//
-// Platform definitions
-//
-EFI_PEI_REPORT_STATUS_CODE mSecReportStatusCode = NULL;
-
-extern EFI_PEI_PROGRESS_CODE_PPI mStatusCodePpi;
-
-//
-// Function implementations
-//
-EFI_STATUS
-EFIAPI
-PlatformReportStatusCode (
- IN EFI_PEI_SERVICES **PeiServices,
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN EFI_GUID * CallerId,
- IN EFI_STATUS_CODE_DATA * Data OPTIONAL
- )
-/*++
-
-Routine Description:
-
- Call all status code listeners in the MonoStatusCode.
-
-Arguments:
-
- Same as ReportStatusCode service
-
-Returns:
-
- EFI_SUCCESS Always returns success.
-
---*/
-{
- if (mSecReportStatusCode != NULL) {
- mSecReportStatusCode (PeiServices, CodeType, Value, Instance, CallerId, Data);
- }
- MemoryReportStatusCode (CodeType, Value, Instance, CallerId, Data);
- return EFI_SUCCESS;
-}
-
-VOID
-PlatformInitializeStatusCode (
- IN EFI_FFS_FILE_HEADER *FfsHeader,
- IN EFI_PEI_SERVICES **PeiServices
- )
-/*++
-
-Routine Description:
-
- Initialize the status code listeners. This consists of locating the
- listener produced by SecMain.exe.
-
-Arguments:
-
- FfsHeader - FV this PEIM was loaded from.
- PeiServices - General purpose services available to every PEIM.
-
-Returns:
-
- None
-
---*/
-{
- EFI_STATUS Status;
- EFI_PEI_PROGRESS_CODE_PPI *ReportStatusCodePpi;
- EFI_PEI_PPI_DESCRIPTOR *ReportStatusCodeDescriptor;
-
- //
- // Cache the existing status code listener installed by the SEC core.
- // We should actually do a heap allocate, install a PPI, etc, but since we
- // know that we are running from a DLL, we can use global variables, and
- // directly update the status code PPI descriptor
- //
- //
- // Locate SEC status code PPI
- //
- Status = (*PeiServices)->LocatePpi (
- PeiServices,
- &gEfiPeiStatusCodePpiGuid,
- 0,
- &ReportStatusCodeDescriptor,
- &ReportStatusCodePpi
- );
- if (EFI_ERROR (Status)) {
- return ;
- }
-
- mSecReportStatusCode = ReportStatusCodePpi->ReportStatusCode;
- ReportStatusCodeDescriptor->Ppi = &mStatusCodePpi;
-
- //
- // Always initialize memory status code listener.
- //
- MemoryStatusCodeInitialize (FfsHeader, PeiServices);
-
-}
-
-EFI_STATUS
-EFIAPI
-InstallMonoStatusCode (
- IN EFI_FFS_FILE_HEADER *FfsHeader,
- IN EFI_PEI_SERVICES **PeiServices
- )
-/*++
-
-Routine Description:
-
- Install the PEIM. Publish the DXE callback as well.
-
-Arguments:
-
- FfsHeader - FV this PEIM was loaded from.
- PeiServices - General purpose services available to every PEIM.
-
-Returns:
-
- EFI_SUCCESS The function always returns success.
-
---*/
-{
- if (!gRunningFromMemory) {
- //
- // First pass, running from flash, initialize everything
- //
- InitializeMonoStatusCode (FfsHeader, PeiServices);
- } else {
- //
- // Second pass, running from memory, initialize memory listener and
- // publish the DXE listener in a HOB.
- //
- MemoryStatusCodeInitialize (FfsHeader, PeiServices);
- InitializeDxeReportStatusCode (PeiServices);
- }
-
- return EFI_SUCCESS;
-}