From 25126a0530371f7a8e20bf663cc1beaf3eebd6f2 Mon Sep 17 00:00:00 2001 From: xli24 Date: Tue, 3 Nov 2009 02:39:10 +0000 Subject: Enable Report Status Code Router introduced in PI 1.2 for PEI and DXE. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9388 6f19259b-4bc3-4df7-8a09-765794883524 --- .../WinNtOemHookStatusCodeHandlerDxe.c | 68 ++++++++++++++++++++++ .../WinNtOemHookStatusCodeHandlerDxe.inf | 51 ++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.c create mode 100644 Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.inf (limited to 'Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe') diff --git a/Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.c b/Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.c new file mode 100644 index 0000000000..dce9f96576 --- /dev/null +++ b/Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.c @@ -0,0 +1,68 @@ +/** @file + OEM hook status code handler driver which produces general handler and hook it + onto the DXE status code router. + + Copyright (c) 2006 - 2009, 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. + +**/ + +// +// The package level header files this module uses +// +#include + +// +// The protocols, PPI and GUID defintions for this module +// +#include + +// +// The Library classes this module consumes +// +#include +#include +#include +#include + +/** + Entry point of OEM hook status code handler driver. + + This function is the entry point of this OEM hook status code handler driver. + It initializes registers OEM status code handler. + + @param ImageHandle The firmware allocated handle for the EFI image. + @param SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + +**/ +EFI_STATUS +EFIAPI +WinNtOemHookStatusCodeHandlerDxeEntry ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + EFI_RSC_HANDLER_PROTOCOL *RscHandlerProtocol; + + Status = gBS->LocateProtocol ( + &gEfiRscHandlerProtocolGuid, + NULL, + (VOID **) &RscHandlerProtocol + ); + ASSERT_EFI_ERROR (Status); + + OemHookStatusCodeInitialize (); + + RscHandlerProtocol->Register (OemHookStatusCodeReport, TPL_HIGH_LEVEL); + + return EFI_SUCCESS; +} diff --git a/Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.inf b/Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.inf new file mode 100644 index 0000000000..dfd3c062e9 --- /dev/null +++ b/Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.inf @@ -0,0 +1,51 @@ +#/** @file +# OEM hook status code handler driver which produces general handler and hook it +# onto the DXE status code router. +# +# Copyright (c) 2007 - 2009, 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. +# +# +#**/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = WinNtOemHookStatusCodeHandlerDxe + FILE_GUID = CA4233AD-847E-4E5D-AD3F-21CABFE5E23C + MODULE_TYPE = DXE_DRIVER + ENTRY_POINT = WinNtOemHookStatusCodeHandlerDxeEntry + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 +# +# HOB Guid C Name: gEfiWinNtThunkProtocolGuid Hob Type: GUID_EXTENSION +# + +[Sources.common] + WinNtOemHookStatusCodeHandlerDxe.c + + +[Packages] + Nt32Pkg/Nt32Pkg.dec + MdePkg/MdePkg.dec + IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec + +[LibraryClasses] + DebugLib + UefiDriverEntryPoint + UefiBootServicesTableLib + OemHookStatusCodeLib + +[Protocols] + gEfiRscHandlerProtocolGuid ## CONSUMES + +[Depex] + gEfiRscHandlerProtocolGuid -- cgit v1.2.3