Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/i386/i386 In Xen PAE case, fix argument size passed...



details:   https://anonhg.NetBSD.org/src/rev/72d795df7b4a
branches:  trunk
changeset: 756380:72d795df7b4a
user:      jym <jym%NetBSD.org@localhost>
date:      Thu Jul 15 18:55:27 2010 +0000

description:
In Xen PAE case, fix argument size passed to init386(), by pushing the
upper bits onto stack (we do not expect first_avail to be above 4GiB, so
assume their value is 0).

Remove macros (PROC0PDIR and PROC0STACK) that were never used.

diffstat:

 sys/arch/i386/i386/locore.S |  14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diffs (49 lines):

diff -r b95a794e596f -r 72d795df7b4a sys/arch/i386/i386/locore.S
--- a/sys/arch/i386/i386/locore.S       Thu Jul 15 16:29:42 2010 +0000
+++ b/sys/arch/i386/i386/locore.S       Thu Jul 15 18:55:27 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.S,v 1.91 2009/11/27 03:23:10 rmind Exp $        */
+/*     $NetBSD: locore.S,v 1.92 2010/07/15 18:55:27 jym Exp $  */
 
 /*
  * Copyright-o-rama!
@@ -129,7 +129,7 @@
  */
 
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.91 2009/11/27 03:23:10 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.92 2010/07/15 18:55:27 jym Exp $");
 
 #include "opt_compat_oldboot.h"
 #include "opt_ddb.h"
@@ -746,24 +746,26 @@
        movl    %eax,RELOC(cpuid_level)
 
        call    xen_pmap_bootstrap
+
        /*
         * First avail returned by xen_pmap_bootstrap in %eax
         */
        movl    %eax, %esi;
        movl    %esi, _C_LABEL(lwp0uarea)
 
-#define PROC0PDIR       ((0)              * PAGE_SIZE)
-#define PROC0STACK      ((1)              * PAGE_SIZE)
-
        /* Set up bootstrap stack. */
        leal    (KSTACK_SIZE-FRAMESIZE)(%eax),%esp
        xorl    %ebp,%ebp               # mark end of frames
 
        addl    $USPACE, %esi
        subl    $KERNBASE, %esi         #init386 want a physical address
+
+#ifdef PAE
+       pushl   $0      # init386() expects a 64 bits paddr_t with PAE
+#endif
        pushl   %esi
        call    _C_LABEL(init386)       # wire 386 chip for unix operation
-       addl    $4,%esp
+       addl    $PDE_SIZE,%esp
        call    _C_LABEL(main)
 
 #if defined(XEN) && !defined(XEN_COMPAT_030001)



Home | Main Index | Thread Index | Old Index