PERFORCE change 38837 for review
Peter Wemm
peter at FreeBSD.org
Mon Sep 29 19:53:23 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=38837
Change 38837 by peter at peter_hammer on 2003/09/29 19:53:08
get out the BIG hammer
Affected files ...
.. //depot/projects/hammer/sys/amd64/amd64/mpboot.s#6 edit
Differences ...
==== //depot/projects/hammer/sys/amd64/amd64/mpboot.s#6 (text+ko) ====
@@ -45,6 +45,7 @@
*/
.p2align 4
+ .section .data32
.code32
NON_GPROF_ENTRY(MPentry)
/*
@@ -61,12 +62,12 @@
movl %eax,%cr4
/* Now enable paging mode */
- movl IdlePDT, %eax
+ movl IdlePTD32, %eax
movl %eax, %cr3
movl %cr0,%eax
orl $CR0_PE|CR0_PG,%eax /* enable paging */
movl %eax,%cr0 /* let the games begin! */
- movl bootSTK,%esp /* boot stack end loc. */
+ movl bootSTK32,%esp /* boot stack end loc. */
pushl $mp_begin /* jump to high mem */
ret
@@ -75,13 +76,16 @@
* Wait for the booting CPU to signal startup
*/
mp_begin: /* now running relocated at KERNBASE */
+ .code64
+#ifdef SMP_ME_HARDER
call init_secondary /* load i386 tables */
+#endif
/* disable the APIC, just to be SURE */
- movl lapic, %edx
- movl LA_SVR(%edx), %eax /* get spurious vector reg. */
+ movq lapic, %rdx
+ movl LA_SVR(%rdx), %eax /* get spurious vector reg. */
andl $~APIC_SVR_SWEN, %eax /* clear software enable bit */
- movl %eax, LA_SVR(%edx)
+ movl %eax, LA_SVR(%rdx)
/* signal our startup to the BSP */
incl mp_naps /* signal BSP */
@@ -98,8 +102,7 @@
* 1Meg. -jackv
*/
- .data
- ALIGN_DATA /* just to be sure */
+ .p2align 4
BOOTMP1:
@@ -236,6 +239,13 @@
.space 0x100 /* space for boot_stk - 1st temporary stack */
boot_stk:
+ .globl bootSTK32
+bootSTK32:
+ .long 0
+ .globl IdlePTD32
+IdlePTD32:
+ .long 0
+
BOOTMP2:
.globl bootMP_size
bootMP_size:
More information about the p4-projects
mailing list