| version 1.91, 2009/11/27 03:23:10 |
version 1.92, 2010/07/15 18:55:27 |
|
|
| movl %eax,RELOC(cpuid_level) |
movl %eax,RELOC(cpuid_level) |
| |
|
| call xen_pmap_bootstrap |
call xen_pmap_bootstrap |
| |
|
| /* |
/* |
| * First avail returned by xen_pmap_bootstrap in %eax |
* First avail returned by xen_pmap_bootstrap in %eax |
| */ |
*/ |
| movl %eax, %esi; |
movl %eax, %esi; |
| movl %esi, _C_LABEL(lwp0uarea) |
movl %esi, _C_LABEL(lwp0uarea) |
| |
|
| #define PROC0PDIR ((0) * PAGE_SIZE) |
|
| #define PROC0STACK ((1) * PAGE_SIZE) |
|
| |
|
| /* Set up bootstrap stack. */ |
/* Set up bootstrap stack. */ |
| leal (KSTACK_SIZE-FRAMESIZE)(%eax),%esp |
leal (KSTACK_SIZE-FRAMESIZE)(%eax),%esp |
| xorl %ebp,%ebp # mark end of frames |
xorl %ebp,%ebp # mark end of frames |
| |
|
| addl $USPACE, %esi |
addl $USPACE, %esi |
| subl $KERNBASE, %esi #init386 want a physical address |
subl $KERNBASE, %esi #init386 want a physical address |
| |
|
| |
#ifdef PAE |
| |
pushl $0 # init386() expects a 64 bits paddr_t with PAE |
| |
#endif |
| pushl %esi |
pushl %esi |
| call _C_LABEL(init386) # wire 386 chip for unix operation |
call _C_LABEL(init386) # wire 386 chip for unix operation |
| addl $4,%esp |
addl $PDE_SIZE,%esp |
| call _C_LABEL(main) |
call _C_LABEL(main) |
| |
|
| #if defined(XEN) && !defined(XEN_COMPAT_030001) |
#if defined(XEN) && !defined(XEN_COMPAT_030001) |