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 <jo...@netbsd.org> @@ -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