From 8cc26df4a60ec3a3b7f9d58ccefc12a1a5b6e199 Mon Sep 17 00:00:00 2001 From: Jeff Fan Date: Fri, 22 Nov 2013 06:30:01 +0000 Subject: 1. DebugAgentLib will install reserved vector table to persist vectors. 2. Update PeCoffExtraActionLib to detect if debug agent initialized or not by checking each IDT entry instead of whole IDT table. Signed-off-by: Jeff Fan Reviewed-by: Ruiyu Ni git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14886 6f19259b-4bc3-4df7-8a09-765794883524 --- .../DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm | 27 ++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm') diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm index c80a33ba6c..9b219fc07d 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/AsmFuncs.asm @@ -32,6 +32,10 @@ InterruptProcess PROTO C public Exception0Handle, TimerInterruptHandle, ExceptionStubHeaderSize +AGENT_HANDLER_SIGNATURE MACRO + db 41h, 47h, 54h, 48h ; SIGNATURE_32('A','G','T','H') +ENDM + .data ExceptionStubHeaderSize DW Exception1Handle - Exception0Handle @@ -39,108 +43,127 @@ CommonEntryAddr DD CommonEntry .code -db 41h, 47h, 54h, 48h ; AGENT_HANDLER_SIGNATURE SIGNATURE_32('A','G','T','H') +AGENT_HANDLER_SIGNATURE Exception0Handle: cli push eax mov eax, 0 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception1Handle: cli push eax mov eax, 1 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception2Handle: cli push eax mov eax, 2 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception3Handle: cli push eax mov eax, 3 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception4Handle: cli push eax mov eax, 4 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception5Handle: cli push eax mov eax, 5 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception6Handle: cli push eax mov eax, 6 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception7Handle: cli push eax mov eax, 7 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception8Handle: cli push eax mov eax, 8 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception9Handle: cli push eax mov eax, 9 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception10Handle: cli push eax mov eax, 10 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception11Handle: cli push eax mov eax, 11 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception12Handle: cli push eax mov eax, 12 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception13Handle: cli push eax mov eax, 13 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception14Handle: cli push eax mov eax, 14 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception15Handle: cli push eax mov eax, 15 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception16Handle: cli push eax mov eax, 16 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception17Handle: cli push eax mov eax, 17 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception18Handle: cli push eax mov eax, 18 jmp dword ptr [CommonEntryAddr] +AGENT_HANDLER_SIGNATURE Exception19Handle: cli push eax mov eax, 19 jmp dword ptr [CommonEntryAddr] - +AGENT_HANDLER_SIGNATURE TimerInterruptHandle: cli push eax -- cgit v1.2.3