aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJohn Dyson <dyson@FreeBSD.org>1997-10-06 02:11:32 +0000
committerJohn Dyson <dyson@FreeBSD.org>1997-10-06 02:11:32 +0000
commit42c0de49268d3322c3b968948afa9a8a3cd768a1 (patch)
tree3c5cd628c66d421eddda8d0a7e63417736c84f7a /sys
parenta5cd8a3572f2f787b700ee197c06ee26c8f5ff72 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/mp_machdep.c8
-rw-r--r--sys/amd64/amd64/mptable.c8
-rw-r--r--sys/amd64/include/mptable.h8
-rw-r--r--sys/i386/i386/mp_machdep.c8
-rw-r--r--sys/i386/i386/mptable.c8
-rw-r--r--sys/i386/include/mptable.h8
-rw-r--r--sys/kern/subr_smp.c8
7 files changed, 56 insertions, 0 deletions
diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c
index 79ff79d25cea..2927ace3a983 100644
--- a/sys/amd64/amd64/mp_machdep.c
+++ b/sys/amd64/amd64/mp_machdep.c
@@ -2036,6 +2036,14 @@ void
putfmtrr() {
if (cpu_class == CPUCLASS_686) {
wbinvd();
+ /*
+ * Set memory between 0-640K to be WB
+ */
+ wrmsr(0x250, 0x0606060606060606LL);
+ wrmsr(0x258, 0x0606060606060606LL);
+ /*
+ * Set normal, PC video memory to be WC
+ */
wrmsr(0x259, 0x0101010101010101LL);
}
}
diff --git a/sys/amd64/amd64/mptable.c b/sys/amd64/amd64/mptable.c
index 79ff79d25cea..2927ace3a983 100644
--- a/sys/amd64/amd64/mptable.c
+++ b/sys/amd64/amd64/mptable.c
@@ -2036,6 +2036,14 @@ void
putfmtrr() {
if (cpu_class == CPUCLASS_686) {
wbinvd();
+ /*
+ * Set memory between 0-640K to be WB
+ */
+ wrmsr(0x250, 0x0606060606060606LL);
+ wrmsr(0x258, 0x0606060606060606LL);
+ /*
+ * Set normal, PC video memory to be WC
+ */
wrmsr(0x259, 0x0101010101010101LL);
}
}
diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h
index 79ff79d25cea..2927ace3a983 100644
--- a/sys/amd64/include/mptable.h
+++ b/sys/amd64/include/mptable.h
@@ -2036,6 +2036,14 @@ void
putfmtrr() {
if (cpu_class == CPUCLASS_686) {
wbinvd();
+ /*
+ * Set memory between 0-640K to be WB
+ */
+ wrmsr(0x250, 0x0606060606060606LL);
+ wrmsr(0x258, 0x0606060606060606LL);
+ /*
+ * Set normal, PC video memory to be WC
+ */
wrmsr(0x259, 0x0101010101010101LL);
}
}
diff --git a/sys/i386/i386/mp_machdep.c b/sys/i386/i386/mp_machdep.c
index 79ff79d25cea..2927ace3a983 100644
--- a/sys/i386/i386/mp_machdep.c
+++ b/sys/i386/i386/mp_machdep.c
@@ -2036,6 +2036,14 @@ void
putfmtrr() {
if (cpu_class == CPUCLASS_686) {
wbinvd();
+ /*
+ * Set memory between 0-640K to be WB
+ */
+ wrmsr(0x250, 0x0606060606060606LL);
+ wrmsr(0x258, 0x0606060606060606LL);
+ /*
+ * Set normal, PC video memory to be WC
+ */
wrmsr(0x259, 0x0101010101010101LL);
}
}
diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c
index 79ff79d25cea..2927ace3a983 100644
--- a/sys/i386/i386/mptable.c
+++ b/sys/i386/i386/mptable.c
@@ -2036,6 +2036,14 @@ void
putfmtrr() {
if (cpu_class == CPUCLASS_686) {
wbinvd();
+ /*
+ * Set memory between 0-640K to be WB
+ */
+ wrmsr(0x250, 0x0606060606060606LL);
+ wrmsr(0x258, 0x0606060606060606LL);
+ /*
+ * Set normal, PC video memory to be WC
+ */
wrmsr(0x259, 0x0101010101010101LL);
}
}
diff --git a/sys/i386/include/mptable.h b/sys/i386/include/mptable.h
index 79ff79d25cea..2927ace3a983 100644
--- a/sys/i386/include/mptable.h
+++ b/sys/i386/include/mptable.h
@@ -2036,6 +2036,14 @@ void
putfmtrr() {
if (cpu_class == CPUCLASS_686) {
wbinvd();
+ /*
+ * Set memory between 0-640K to be WB
+ */
+ wrmsr(0x250, 0x0606060606060606LL);
+ wrmsr(0x258, 0x0606060606060606LL);
+ /*
+ * Set normal, PC video memory to be WC
+ */
wrmsr(0x259, 0x0101010101010101LL);
}
}
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c
index 79ff79d25cea..2927ace3a983 100644
--- a/sys/kern/subr_smp.c
+++ b/sys/kern/subr_smp.c
@@ -2036,6 +2036,14 @@ void
putfmtrr() {
if (cpu_class == CPUCLASS_686) {
wbinvd();
+ /*
+ * Set memory between 0-640K to be WB
+ */
+ wrmsr(0x250, 0x0606060606060606LL);
+ wrmsr(0x258, 0x0606060606060606LL);
+ /*
+ * Set normal, PC video memory to be WC
+ */
wrmsr(0x259, 0x0101010101010101LL);
}
}