From 41d80e816ac2bd4b8280d6f1d6c00de6e10151a3 Mon Sep 17 00:00:00 2001 From: qwang12 Date: Mon, 25 Aug 2008 01:51:20 +0000 Subject: [PATCH] Add in SupportItpDebug.S. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5723 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/Pei/PeiLib/PeiLib_Edk2.inf | 1 + .../Library/Pei/PeiLib/ia32/SupportItpDebug.S | 71 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/ia32/SupportItpDebug.S diff --git a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib_Edk2.inf b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib_Edk2.inf index 3816b061e9..41f41cedbb 100644 --- a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib_Edk2.inf +++ b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib_Edk2.inf @@ -45,6 +45,7 @@ COMPONENT_TYPE = LIBRARY ia32/ProcessorAsms.S |GCC ia32/SupportItpDebug.asm |MSFT ia32/SupportItpDebug.asm |INTEL + ia32/SupportItpDebug.S |GCC ia32/EfiJump.h ia32/ReadIdt.asm |MSFT ia32/ReadIdt.asm |INTEL diff --git a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/ia32/SupportItpDebug.S b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/ia32/SupportItpDebug.S new file mode 100644 index 0000000000..3bd41f343b --- /dev/null +++ b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/ia32/SupportItpDebug.S @@ -0,0 +1,71 @@ +#------------------------------------------------------------------------------ +# +# Copyright (c) 2008, 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: +# +# SupportItpDebug.asm +# +# Abstract: +# +# This is the code for debuging IA32, to add a break hook at loading every module +# +#------------------------------------------------------------------------------ +#include + +# PROC:PRIVATE + .686P: + .MMX: + #.MODEL SMALL + .CODE: + +#------------------------------------------------------------------------------ +#------------------------------------------------------------------------------ +.globl ASM_PFX(AsmEfiSetBreakSupport) + +# VOID +# AsmEfiSetBreakSupport ( +# IN UINTN LoadAddr +# ) +#------------------------------------------------------------------------------ +ASM_PFX(AsmEfiSetBreakSupport): + push %ebp + mov %esp, %ebp + mov 0x8(%ebp),%eax + movw $60000, %dx + outl %eax, %dx + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + ret + +#AsmEfiSetBreakSupport ENDP +