Forgot this file
authorAlex Ionescu <aionescu@gmail.com>
Tue, 8 Feb 2005 01:55:04 +0000 (01:55 +0000)
committerAlex Ionescu <aionescu@gmail.com>
Tue, 8 Feb 2005 01:55:04 +0000 (01:55 +0000)
svn path=/trunk/; revision=13463

reactos/ntoskrnl/ke/i386/main.S [new file with mode: 0644]

diff --git a/reactos/ntoskrnl/ke/i386/main.S b/reactos/ntoskrnl/ke/i386/main.S
new file mode 100644 (file)
index 0000000..ab0374f
--- /dev/null
@@ -0,0 +1,31 @@
+#include <roscfg.h>
+#include <internal/ntoskrnl.h>
+#include <internal/i386/ke.h>
+#include <internal/i386/segment.h>
+#include <internal/ps.h>
+#include <internal/i386/mm.h>
+#include <internal/i386/fpu.h>
+
+.globl _NtProcessStartup
+
+_NtProcessStartup:
+
+    /* FIXME: Application processors should have their own GDT/IDT */
+    lgdt _KiGdtDescriptor
+    lidt _KiIdtDescriptor
+
+    /* Load the PCR selector */
+    movl $PCR_SELECTOR, %eax
+    movl %eax, %fs
+
+    /* Load the initial kernel stack */
+    lea _kernel_stack, %eax
+    add $0x1000, %eax
+    and $0xFFFFE000, %eax
+    add $(0x3000 - SIZEOF_FX_SAVE_AREA), %eax
+    movl %eax, %esp
+    
+    /* Call the main kernel initialization */
+    pushl %edx
+    pushl %ecx
+    call __main