]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/i386/start.s
xnu-517.tar.gz
[apple/xnu.git] / osfmk / i386 / start.s
index 41347ee882c8efed236e4f9117c99ea759c3d83c..38362a816bc3f8de047727db805c5788d618d212 100644 (file)
@@ -3,19 +3,22 @@
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
+ * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
  * 
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
+ * 
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
  * 
  * @APPLE_LICENSE_HEADER_END@
  */
@@ -69,7 +72,7 @@
 
 #endif /* NCPUS > 1 */
 
-#include <i386/AT386/mp/mp.h>
+#include <i386/mp.h>
 
 /*
  * GAS won't handle an intersegment jump with a relocatable offset.
@@ -194,6 +197,7 @@ EXT(mp_boot_pde):
        .globl  EXT(_start)
 LEXT(_start)
 LEXT(pstart)
+       mov     %eax, %ebx              /* save pointer to kernbootstruct */
        mov     $0,%ax                  /* fs must be zeroed; */
        mov     %ax,%fs                 /* some bootstrappers don`t do this */
        mov     %ax,%gs
@@ -374,7 +378,7 @@ LEXT(vstart)
        mov     %ax,%gs
 
        lea     EXT(eintstack),%esp     /* switch to the bootup stack */
-       call    EXT(machine_startup)    /* run C code */
+       call    EXT(i386_init)          /* run C code */
        /*NOTREACHED*/
        hlt
 
@@ -479,9 +483,9 @@ LEXT(svstart)
        movl    %edx,2(%esp)            /* point to local IDT (linear address) */
        lidt    0(%esp)                 /* load new IDT */
        
-       movw    $(KERNEL_LDT),%ax
-       lldt    %ax                     /* load new LDT */
-       
+       movw    $(KERNEL_LDT),%ax       /* get LDT segment */
+       lldt    %ax                     /* load LDT */
+
        movw    $(KERNEL_TSS),%ax
        ltr     %ax                     /* load new KTSS */