From e386b444c88b01c5a14ca846b6ba10dcf5536e05 Mon Sep 17 00:00:00 2001 From: vanjeff Date: Fri, 22 Jun 2007 06:57:39 +0000 Subject: Import some Pei and Dxe related instances for MdePkg. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2712 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Library/DxeServicesTableLib/CommonHeader.h | 34 ++++++++ .../DxeServicesTableLib/DxeServicesTableLib.c | 59 ++++++++++++++ .../DxeServicesTableLib/DxeServicesTableLib.inf | 93 ++++++++++++++++++++++ .../DxeServicesTableLib/DxeServicesTableLib.msa | 54 +++++++++++++ 4 files changed, 240 insertions(+) create mode 100644 MdePkg/Library/DxeServicesTableLib/CommonHeader.h create mode 100644 MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.c create mode 100644 MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf create mode 100644 MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.msa (limited to 'MdePkg/Library/DxeServicesTableLib') diff --git a/MdePkg/Library/DxeServicesTableLib/CommonHeader.h b/MdePkg/Library/DxeServicesTableLib/CommonHeader.h new file mode 100644 index 0000000000..e922174083 --- /dev/null +++ b/MdePkg/Library/DxeServicesTableLib/CommonHeader.h @@ -0,0 +1,34 @@ +/**@file + Common header file shared by all source files. + + This file includes package header files, library classes and protocol, PPI & GUID definitions. + + Copyright (c) 2007, 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. +**/ + +#ifndef __COMMON_HEADER_H_ +#define __COMMON_HEADER_H_ + + +// +// 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 + +#endif diff --git a/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.c b/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.c new file mode 100644 index 0000000000..cda2b9639c --- /dev/null +++ b/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.c @@ -0,0 +1,59 @@ +/** @file + DXE Library. + + 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: DxeServicesTableLib.c + +**/ + + +// +// Include common header file for this module. +// +#include "CommonHeader.h" + +// +// Cache copy of the DXE Services Table +// +EFI_DXE_SERVICES *gDS = NULL; + +/** + The constructor function caches the pointer of DXE Services Table. + + The constructor function caches the pointer of DXE Services Table. + It will ASSERT() if that operation fails. + It will ASSERT() if the pointer of DXE Services Table is NULL. + It will always return EFI_SUCCESS. + + @param ImageHandle The firmware allocated handle for the EFI image. + @param SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS. + +**/ +EFI_STATUS +EFIAPI +DxeServicesTableLibConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + + // + // Cache copy of the DXE Services Table + // + Status = EfiGetSystemConfigurationTable (&gEfiDxeServicesTableGuid, (VOID **) &gDS); + ASSERT_EFI_ERROR (Status); + ASSERT (gDS != NULL); + + return Status; +} diff --git a/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf b/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf new file mode 100644 index 0000000000..a5a47fd506 --- /dev/null +++ b/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf @@ -0,0 +1,93 @@ +#/** @file +# Component description file for Dxe Services Table Library. +# +# DXE Services Table Library that retrieves a pointer to the DXE Services +# Table from the Configuration Table in the EFI System Table. +# Copyright (c) 2007, 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 Section - statements that will be processed to create a Makefile. +# +################################################################################ +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = DxeServicesTableLib + FILE_GUID = baa1baa3-0a8d-402c-8042-985115fae953 + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + LIBRARY_CLASS = DxeServicesTableLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + EDK_RELEASE_VERSION = 0x00020000 + EFI_SPECIFICATION_VERSION = 0x00020000 + + CONSTRUCTOR = DxeServicesTableLibConstructor + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +################################################################################ +# +# Sources Section - list of files that are required for the build to succeed. +# +################################################################################ + +[Sources.common] + DxeServicesTableLib.c + CommonHeader.h + + +################################################################################ +# +# Includes Section - list of Include locations that are required for +# this module. +# +################################################################################ + +[Includes] + $(WORKSPACE)/MdePkg\Include/Library + +################################################################################ +# +# Package Dependency Section - list of Package files that are required for +# this module. +# +################################################################################ + +[Packages] + MdePkg/MdePkg.dec + + +################################################################################ +# +# Library Class Section - list of Library Classes that are required for +# this module. +# +################################################################################ + +[LibraryClasses] + UefiLib + DebugLib + + +################################################################################ +# +# Guid C Name Section - list of Guids that this module uses or produces. +# +################################################################################ + +[Guids] + gEfiDxeServicesTableGuid # ALWAYS_CONSUMED + diff --git a/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.msa b/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.msa new file mode 100644 index 0000000000..83df67e218 --- /dev/null +++ b/MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.msa @@ -0,0 +1,54 @@ + + + + DxeServicesTableLib + DXE_DRIVER + baa1baa3-0a8d-402c-8042-985115fae953 + 1.0 + Component description file for Dxe Services Table Library. + DXE Services Table Library that retrieves a pointer to the DXE Services + Table from the Configuration Table in the EFI System Table. + 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. + FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 + + + IA32 X64 IPF EBC + false + DxeServicesTableLib + + + + DxeServicesTableLib + + + DebugLib + + + UefiLib + + + + DxeServicesTableLib.c + + + + + + + gEfiDxeServicesTableGuid + + + + EFI_SPECIFICATION_VERSION 0x00020000 + EDK_RELEASE_VERSION 0x00020000 + + DxeServicesTableLibConstructor + + + \ No newline at end of file -- cgit v1.2.3