From fe92ab29bff9548a59011249e161127f7eeafa79 Mon Sep 17 00:00:00 2001 From: vanjeff Date: Fri, 26 Feb 2010 05:38:04 +0000 Subject: [PATCH] import Debug Agent Library and null instance in MdeModulePkg. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10099 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Library/DebugAgentLib.h | 55 +++++++++++++++++++ .../DebugAgentLibNull/DebugAgentLibNull.c | 51 +++++++++++++++++ .../DebugAgentLibNull/DebugAgentLibNull.inf | 36 ++++++++++++ MdeModulePkg/MdeModulePkg.dec | 3 + MdeModulePkg/MdeModulePkg.dsc | 1 + 5 files changed, 146 insertions(+) create mode 100644 MdeModulePkg/Include/Library/DebugAgentLib.h create mode 100644 MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.c create mode 100644 MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf diff --git a/MdeModulePkg/Include/Library/DebugAgentLib.h b/MdeModulePkg/Include/Library/DebugAgentLib.h new file mode 100644 index 0000000000..9a5c57e8de --- /dev/null +++ b/MdeModulePkg/Include/Library/DebugAgentLib.h @@ -0,0 +1,55 @@ +/** @file + Debug Agent Library provide source-level debug capability. + + Copyright (c) 2010, 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 __DEBUG_AGENT_LIB_H__ +#define __DEBUG_AGENT_LIB_H__ + +#define DEBUG_AGENT_INIT_PREMEM_SEC 1 +#define DEBUG_AGENT_INIT_POSTMEM_SEC 2 +#define DEBUG_AGENT_INIT_DXE 3 +#define DEBUG_AGENT_INIT_SMM 4 +#define DEBUG_AGENT_INIT_SMI 5 + +/** + Initialize debug agent. + + This function is used to set up debug enviroment. + + @param[in] InitFlag Init flag is used to decide initialize process. + @param[in] Context Context needed according to InitFlag, it was optional. + +**/ +VOID +EFIAPI +InitializeDebugAgent ( + IN UINT32 InitFlag, + IN VOID *Context OPTIONAL + ); + +/** + Enable/Disable the interrupt of debug timer. + + If EnableStatus is TRUE, enable the interrupt of debug timer. + If EnableStatus is FALSE, disable the interrupt of debug timer. + + @param[in] EnableStatus Enable/Disable. + +**/ +VOID +EFIAPI +SetDebugTimerInterrupt ( + IN BOOLEAN EnableStatus + ); + +#endif diff --git a/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.c b/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.c new file mode 100644 index 0000000000..cf945d01ad --- /dev/null +++ b/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.c @@ -0,0 +1,51 @@ +/** @file + Debug Agent library implementition with empty functions. + + Copyright (c) 2010, 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. + +**/ + +/** + Initialize debug agent. + + This function is used to set up debug enviroment. It may enable interrupts. + + @param[in] InitFlag Init flag is used to decide initialize process. + @param[in] Context Context needed according to InitFlag, it was optional. + +**/ +VOID +EFIAPI +InitializeDebugAgent ( + IN UINT32 InitFlag, + IN VOID *Context OPTIONAL + ) +{ + +} + +/** + Enable/Disable the interrupt of debug timer. + + If EnableStatus is TRUE, enable the interrupt of debug timer. + If EnableStatus is FALSE, disable the interrupt of debug timer. + + @param[in] EnableStatus Enable/Disable. + +**/ +VOID +EFIAPI +SetDebugTimerInterrupt ( + IN BOOLEAN EnableStatus + ) +{ + +} + diff --git a/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf b/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf new file mode 100644 index 0000000000..f45deca290 --- /dev/null +++ b/MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf @@ -0,0 +1,36 @@ +#/** @file +# Null instance of Debug Agent Library with empty functions. +# +# Copyright (c) 2010, 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 = DebugAgentLibNull + FILE_GUID = 4904B42F-9FC0-4c2e-BB3F-A2AB35123530 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = DebugAgentLib + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[Sources.common] + DebugAgentLibNull.c + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 50e6509697..d38ace4c0b 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -76,6 +76,9 @@ # OemHookStatusCodeLib|Include/Library/OemHookStatusCodeLib.h + ## @libraryclass Debug Agent is used to provide soft debug capability. + # + DebugAgentLib|Include/Library/DebugAgentLib.h [Guids] ## MdeModule package token space guid # Include/Guid/MdeModulePkgTokenSpace.h diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc index 92267bcbbc..d8e856927b 100644 --- a/MdeModulePkg/MdeModulePkg.dsc +++ b/MdeModulePkg/MdeModulePkg.dsc @@ -73,6 +73,7 @@ SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf + DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf [LibraryClasses.IA32] IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf -- 2.39.2