summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Universal/DebugSupport
diff options
context:
space:
mode:
authormikewuping <mikewuping@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-03 03:34:43 +0000
committermikewuping <mikewuping@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-03 03:34:43 +0000
commitc91eaa3d55d88598baaa979097a31cb1001ecc0d (patch)
tree222ee4336cc2884c432a7f2ce14561a4a953c6b7 /EdkModulePkg/Universal/DebugSupport
parent511710d68f477e0210ae1830769e5d0cde4ea36a (diff)
downloadedk2-platforms-c91eaa3d55d88598baaa979097a31cb1001ecc0d.tar.xz
I fixed following bugs in EDKII.
1. In AsmFuncs.asm, DebugSupport, Vect2Desc() function will use hardcode CS to fill the IDT. 20h for Ia32.If the system CS is changed by CPU driver, this driver can not work. System maybe crash. 2. In EBC, RegisterExceptionCallback() can not restore the environment and I add some enhancements. 3. In Image.c, CoreLoadImageCommon never return EFI_SECURITY_VIOLATION when SecurityStatus == EFI_SECURITY_VIOLATION. 4. In Variable.c, 1. There're additional unnecessary loop. All blocks will be gone through even if all the data has been written. We should check the "CurrWriteSize" to see if there's no more data to write, and stop the for loop immediately. 2 "if.else." can be merged to save lines of code. 5. in FvbServices,c, Checksum calculation error. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1891 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkModulePkg/Universal/DebugSupport')
-rw-r--r--EdkModulePkg/Universal/DebugSupport/Dxe/Ia32/AsmFuncs.asm3
1 files changed, 2 insertions, 1 deletions
diff --git a/EdkModulePkg/Universal/DebugSupport/Dxe/Ia32/AsmFuncs.asm b/EdkModulePkg/Universal/DebugSupport/Dxe/Ia32/AsmFuncs.asm
index 89c9f83176..1741ce83c0 100644
--- a/EdkModulePkg/Universal/DebugSupport/Dxe/Ia32/AsmFuncs.asm
+++ b/EdkModulePkg/Universal/DebugSupport/Dxe/Ia32/AsmFuncs.asm
@@ -189,7 +189,8 @@ Vect2Desc PROC C PUBLIC DestPtr:DWORD, Vector:DWORD
mov eax, Vector
mov ecx, DestPtr
mov word ptr [ecx], ax ; write bits 15..0 of offset
- mov word ptr [ecx+2], 20h ; SYS_CODE_SEL from GDT
+ mov dx, cs
+ mov word ptr [ecx+2], dx ; SYS_CODE_SEL from GDT
mov word ptr [ecx+4], 0e00h OR 8000h ; type = 386 interrupt gate, present
shr eax, 16
mov word ptr [ecx+6], ax ; write bits 31..16 of offset