[ros-dev] Re: [ros-svn] [ion] 13090: SYSENTER support, INT2E Optimization, new Syscall Table/Stub generator and svn:ignore fixes. Please read associated Mailing List Post.

Hartmut Birr hartmut.birr at gmx.de
Mon Jan 17 19:25:08 CET 2005


ion at svn.reactos.com schrieb:

>SYSENTER support, INT2E Optimization, new Syscall Table/Stub generator and svn:ignore fixes. Please read associated Mailing List Post.
>
>
>Updated files:
>trunk/reactos/ntoskrnl/ke/i386/gdt.c
>  
>

*Modified: trunk/reactos/ntoskrnl/ke/i386/gdt.c*

--- trunk/reactos/ntoskrnl/ke/i386/gdt.c	2005-01-17 01:30:26 UTC (rev 13089)
+++ trunk/reactos/ntoskrnl/ke/i386/gdt.c	2005-01-17 07:10:34 UTC (rev 13090)
@@ -40,10 +40,10 @@

  0x0, 0x0, 0x0, 0x0,              /* Null */
  0xffff, 0x0, 0x9a00, 0xcf,       /* Kernel CS */
  0xffff, 0x0, 0x9200, 0xcf,       /* Kernel DS */

- 0x0, 0x0, 0xfa00, 0xcc,          /* User CS */
- 0x0, 0x0, 0xf200, 0xcc,          /* User DS */

+ 0x0, 0x0, 0xfa00, 0xcf,          /* User CS */
+ 0x0, 0x0, 0xf200, 0xcf,          /* User DS */

  0x0, 0x0, 0x0, 0x0,              /* TSS */

- 0x1000, 0x0000, 0x9200, 0xff00,  /* PCR */

+ 0x1000, 0x0000, 0x9200, 0xffc0,  /* PCR */

  0x1000, 0x0, 0xf200, 0x0,        /* TEB */
  0x0, 0x0, 0x0, 0x0,              /* Reserved */
  0x0, 0x0, 0x0, 0x0,              /* LDT */

This changes expand the user mode data/code segment to 4GB. This is wrong. 
If I change it back to the correct limit, the sysenter support doesn't work. 
Ros does crash within the first application (smss). See the debug output.

- Hartmut

...
DriverBase for \SystemRoot\system32\drivers\msfs.sys: dd2fa000
DriverBase for \SystemRoot\system32\drivers\npfs.sys: dd319000
KeBugCheckWithTf at ke/catch.c:193
Bug detected (code 1e param 0 0 0 0)
  KMODE_EXCEPTION_NOT_HANDLED

General Protection Exception: 13(0)
Processor: 0 CS:EIP 8:c0003829 <ntoskrnl.exe: 3829 (D:\DOKUME~1\hb\LOKALE~1\Temp/ccG6aaaa.s:33 (_KiSystemService))>
cr2 7ffde000 cr3 158dc000 Proc: c06a6598 Pid: 2 <smss.exe> Thrd: c06abca0 Tid: 18
DS 23 ES 23 FS 3b GS 23
EAX: 00000000   EBX: 00000000   ECX: 00000000
EDX: 00000000   EBP: 00000000   ESI: 00000000   ESP: dd34cd58
EDI: 00000000   EFLAGS: 00210202 kESP dd34cd58 kernel stack base dd34a000
Frames: ke/main.c:1043

0xc0003829 -> syscall.S line 270
 

------------------------------------------------------------------------


More information about the Ros-dev mailing list