Hi,
the problem is fixed.
- Hartmut
Hartmut Birr schrieb:
ion@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
Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev