From c91eaa3d55d88598baaa979097a31cb1001ecc0d Mon Sep 17 00:00:00 2001 From: mikewuping Date: Fri, 3 Nov 2006 03:34:43 +0000 Subject: 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 --- EdkModulePkg/Universal/DebugSupport/Dxe/Ia32/AsmFuncs.asm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'EdkModulePkg/Universal/DebugSupport') 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 -- cgit v1.2.3