Module Name: src
Committed By: jym
Date: Thu Apr 19 18:00:35 UTC 2012
Modified Files:
src/sys/arch/amd64/acpi: acpi_wakecode.S
src/sys/arch/amd64/amd64: locore.S mptramp.S
src/sys/arch/i386/acpi: acpi_wakecode.S
src/sys/arch/i386/i386: locore.S mptramp.S
Log Message:
Set the CR0_AM bit so processes can enable alignment check errors under
x86 through PSL_AC bit.
ATF test incoming shortly.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/amd64/acpi/acpi_wakecode.S
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/amd64/amd64/locore.S
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/amd64/amd64/mptramp.S
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/i386/acpi/acpi_wakecode.S
cvs rdiff -u -r1.97 -r1.98 src/sys/arch/i386/i386/locore.S
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/i386/i386/mptramp.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/amd64/acpi/acpi_wakecode.S
diff -u src/sys/arch/amd64/acpi/acpi_wakecode.S:1.10 src/sys/arch/amd64/acpi/acpi_wakecode.S:1.11
--- src/sys/arch/amd64/acpi/acpi_wakecode.S:1.10 Mon Aug 24 22:06:50 2009
+++ src/sys/arch/amd64/acpi/acpi_wakecode.S Thu Apr 19 18:00:34 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_wakecode.S,v 1.10 2009/08/24 22:06:50 jmcneill Exp $ */
+/* $NetBSD: acpi_wakecode.S,v 1.11 2012/04/19 18:00:34 jym Exp $ */
/*-
* Copyright (c) 2007 Joerg Sonnenberger <[email protected]>
@@ -198,7 +198,7 @@ wakeup_32:
/* Enable paging */
movl %cr0,%eax
- orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP),%eax
+ orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP|CR0_AM),%eax
movl %eax,%cr0
/* Flush prefetch queue */
jmp 1f
Index: src/sys/arch/amd64/amd64/locore.S
diff -u src/sys/arch/amd64/amd64/locore.S:1.67 src/sys/arch/amd64/amd64/locore.S:1.68
--- src/sys/arch/amd64/amd64/locore.S:1.67 Fri Feb 24 08:06:07 2012
+++ src/sys/arch/amd64/amd64/locore.S Thu Apr 19 18:00:34 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.S,v 1.67 2012/02/24 08:06:07 cherry Exp $ */
+/* $NetBSD: locore.S,v 1.68 2012/04/19 18:00:34 jym Exp $ */
/*
* Copyright-o-rama!
@@ -626,7 +626,7 @@ start: movw $0x1234,0x472 # warm boot
* 4. Enable paging and the rest of it.
*/
movl %cr0,%eax
- orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP),%eax
+ orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP|CR0_AM),%eax
movl %eax,%cr0
jmp compat
compat:
Index: src/sys/arch/amd64/amd64/mptramp.S
diff -u src/sys/arch/amd64/amd64/mptramp.S:1.12 src/sys/arch/amd64/amd64/mptramp.S:1.13
--- src/sys/arch/amd64/amd64/mptramp.S:1.12 Tue Apr 20 15:42:21 2010
+++ src/sys/arch/amd64/amd64/mptramp.S Thu Apr 19 18:00:34 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: mptramp.S,v 1.12 2010/04/20 15:42:21 jym Exp $ */
+/* $NetBSD: mptramp.S,v 1.13 2012/04/19 18:00:34 jym Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -173,7 +173,7 @@ _TRMP_LABEL(mp_startup)
movl %ecx,%cr3 # load ptd addr into mmu
movl %cr0,%eax # get control word
- orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP),%eax
+ orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_MP|CR0_WP|CR0_AM),%eax
movl %eax,%cr0
jmp mptramp_compat
mptramp_compat:
Index: src/sys/arch/i386/acpi/acpi_wakecode.S
diff -u src/sys/arch/i386/acpi/acpi_wakecode.S:1.14 src/sys/arch/i386/acpi/acpi_wakecode.S:1.15
--- src/sys/arch/i386/acpi/acpi_wakecode.S:1.14 Mon Aug 24 10:16:12 2009
+++ src/sys/arch/i386/acpi/acpi_wakecode.S Thu Apr 19 18:00:34 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_wakecode.S,v 1.14 2009/08/24 10:16:12 jmcneill Exp $ */
+/* $NetBSD: acpi_wakecode.S,v 1.15 2012/04/19 18:00:34 jym Exp $ */
/*-
* Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -165,7 +165,7 @@ wakeup_32:
movl WAKEUP_r_cr3 + ACPI_WAKEUP_ADDR,%eax
movl %eax,%cr3
movl %cr0,%eax
- orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_EM|CR0_MP|CR0_WP),%eax
+ orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_EM|CR0_MP|CR0_WP|CR0_AM),%eax
movl %eax,%cr0
/* Flush the prefetch queue */
Index: src/sys/arch/i386/i386/locore.S
diff -u src/sys/arch/i386/i386/locore.S:1.97 src/sys/arch/i386/i386/locore.S:1.98
--- src/sys/arch/i386/i386/locore.S:1.97 Fri Mar 2 16:43:31 2012
+++ src/sys/arch/i386/i386/locore.S Thu Apr 19 18:00:35 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.S,v 1.97 2012/03/02 16:43:31 bouyer Exp $ */
+/* $NetBSD: locore.S,v 1.98 2012/04/19 18:00:35 jym Exp $ */
/*
* Copyright-o-rama!
@@ -129,7 +129,7 @@
*/
#include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.97 2012/03/02 16:43:31 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.98 2012/04/19 18:00:35 jym Exp $");
#include "opt_compat_oldboot.h"
#include "opt_ddb.h"
@@ -682,7 +682,7 @@ try586: /* Use the `cpuid' instruction.
*/
movl %cr0,%eax # get control word
# enable paging & NPX emulation
- orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_EM|CR0_MP),%eax
+ orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_EM|CR0_MP|CR0_AM),%eax
movl %eax,%cr0 # and page NOW!
pushl $begin # jump to high mem
Index: src/sys/arch/i386/i386/mptramp.S
diff -u src/sys/arch/i386/i386/mptramp.S:1.22 src/sys/arch/i386/i386/mptramp.S:1.23
--- src/sys/arch/i386/i386/mptramp.S:1.22 Wed Jul 28 17:05:51 2010
+++ src/sys/arch/i386/i386/mptramp.S Thu Apr 19 18:00:35 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: mptramp.S,v 1.22 2010/07/28 17:05:51 jym Exp $ */
+/* $NetBSD: mptramp.S,v 1.23 2012/04/19 18:00:35 jym Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -76,7 +76,7 @@
*/
#include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: mptramp.S,v 1.22 2010/07/28 17:05:51 jym Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mptramp.S,v 1.23 2012/04/19 18:00:35 jym Exp $");
#include "opt_mpbios.h" /* for MPDEBUG */
@@ -174,7 +174,7 @@ _TRMP_LABEL(mp_startup)
movl %ecx,%cr3 # load ptd addr into mmu
movl %cr0,%eax # get control word
# enable paging & NPX emulation
- orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_EM|CR0_MP|CR0_WP),%eax
+ orl $(CR0_PE|CR0_PG|CR0_NE|CR0_TS|CR0_EM|CR0_MP|CR0_WP|CR0_AM),%eax
movl %eax,%cr0 # and page NOW!
#ifdef MPDEBUG