mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 17:44:45 +00:00
- Fixed the sysexit check. We must use a kernel mode segment to access KiFastSystemCallDisable.
- Fixed some segment limits. svn path=/trunk/; revision=13100
This commit is contained in:
parent
69688ce6ab
commit
fa74b30016
2 changed files with 11 additions and 6 deletions
|
@ -40,11 +40,16 @@ USHORT KiBootGdt[11 * 4] =
|
|||
0x0, 0x0, 0x0, 0x0, /* Null */
|
||||
0xffff, 0x0, 0x9a00, 0xcf, /* Kernel CS */
|
||||
0xffff, 0x0, 0x9200, 0xcf, /* Kernel DS */
|
||||
0x0, 0x0, 0xfa00, 0xcf, /* User CS */
|
||||
0x0, 0x0, 0xf200, 0xcf, /* User DS */
|
||||
#ifdef __3GB__
|
||||
0xffff, 0x0, 0xfa00, 0xcb, /* User CS */
|
||||
0xffff, 0x0, 0xf200, 0xcb, /* User DS */
|
||||
#else
|
||||
0xffff, 0x0, 0xfa00, 0xc7, /* User CS */
|
||||
0xffff, 0x0, 0xf200, 0xc7, /* User DS */
|
||||
#endif
|
||||
0x0, 0x0, 0x0, 0x0, /* TSS */
|
||||
0x1000, 0x0000, 0x9200, 0xffc0, /* PCR */
|
||||
0x1000, 0x0, 0xf200, 0x0, /* TEB */
|
||||
0x0fff, 0x0000, 0x9200, 0xff00, /* PCR */
|
||||
0x0fff, 0x0, 0xf200, 0x0, /* TEB */
|
||||
0x0, 0x0, 0x0, 0x0, /* Reserved */
|
||||
0x0, 0x0, 0x0, 0x0, /* LDT */
|
||||
0x0, 0x0, 0x0, 0x0 /* Trap TSS */
|
||||
|
|
|
@ -270,8 +270,8 @@ IntRet:
|
|||
FastRet:
|
||||
|
||||
/* Is SYSEXIT Supported/Wanted? */
|
||||
cmpl $1, _KiFastSystemCallDisable
|
||||
je IntRet
|
||||
cmpl $0, %ss:_KiFastSystemCallDisable
|
||||
jnz IntRet
|
||||
|
||||
/* Restore FS to TIB */
|
||||
mov $TEB_SELECTOR, %ecx
|
||||
|
|
Loading…
Reference in a new issue