Fixed smp boot.
authorHartmut Birr <osexpert@googlemail.com>
Wed, 2 Mar 2005 20:35:18 +0000 (20:35 +0000)
committerHartmut Birr <osexpert@googlemail.com>
Wed, 2 Mar 2005 20:35:18 +0000 (20:35 +0000)
svn path=/trunk/; revision=13796

reactos/ntoskrnl/ke/i386/main.S

index ab0374f..d2641e0 100644 (file)
@@ -6,6 +6,8 @@
 #include <internal/i386/mm.h>
 #include <internal/i386/fpu.h>
 
+#define AP_MAGIC (0x12481020)\r
+
 .globl _NtProcessStartup
 
 _NtProcessStartup:
@@ -17,7 +19,25 @@ _NtProcessStartup:
     /* Load the PCR selector */
     movl $PCR_SELECTOR, %eax
     movl %eax, %fs
-
+    
+    cmpl $AP_MAGIC, %ecx
+    jne  .m1
+     
+    pushl $0\r
+    popfl\r
+       \r
+    /*\r
+     *  Reserve space for the floating point save area.\r
+     */\r
+    subl  $SIZEOF_FX_SAVE_AREA, %esp\r
+\r
+    /*\r
+     * Call the application processor initialization code\r
+     */\r
+    pushl $0\r
+    call  _KiSystemStartup\r
+    \r
+.m1:     
     /* Load the initial kernel stack */
     lea _kernel_stack, %eax
     add $0x1000, %eax