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