- Fix a bug in GPF handler, do not hang in it.

- Initialize Esp field in TSS.

svn path=/trunk/; revision=42306
This commit is contained in:
Dmitry Gorbachev
2009-07-30 17:54:21 +00:00
parent a640545b8b
commit cdd031231c
2 changed files with 3 additions and 1 deletions
+2
View File
@@ -650,6 +650,7 @@ Ki386InitializeTss(IN PKTSS Tss,
KiInitializeTSS(Tss);
Tss->CR3 = __readcr3();
Tss->Esp0 = PtrToUlong(KiDoubleFaultStack);
Tss->Esp = PtrToUlong(KiDoubleFaultStack);
Tss->Eip = PtrToUlong(KiTrap8);
Tss->Cs = KGDT_R0_CODE;
Tss->Fs = KGDT_R0_PCR;
@@ -679,6 +680,7 @@ Ki386InitializeTss(IN PKTSS Tss,
KiInitializeTSS(Tss);
Tss->CR3 = __readcr3();
Tss->Esp0 = PtrToUlong(KiDoubleFaultStack);
Tss->Esp = PtrToUlong(KiDoubleFaultStack);
Tss->Eip = PtrToUlong(KiTrap2);
Tss->Cs = KGDT_R0_CODE;
Tss->Fs = KGDT_R0_PCR;
+1 -1
View File
@@ -1338,7 +1338,6 @@ BogusTrap:
.globl _KiTrap8
.func KiTrap8
_KiTrap8:
/* Can't really do too much */
mov eax, 8
jmp _KiSystemFatalException
@@ -1511,6 +1510,7 @@ NotV86:
cmp eax, offset CheckPrivilegedInstruction
jbe KmodeGpf
cmp eax, offset CheckPrivilegedInstruction2
jae KmodeGpf
/* FIXME: TODO */
UNHANDLED_PATH