diff options
| -rw-r--r-- | sys/amd64/amd64/mp_machdep.c | 8 | ||||
| -rw-r--r-- | sys/amd64/amd64/mptable.c | 8 | ||||
| -rw-r--r-- | sys/amd64/include/mptable.h | 8 | ||||
| -rw-r--r-- | sys/i386/i386/mp_machdep.c | 8 | ||||
| -rw-r--r-- | sys/i386/i386/mptable.c | 8 | ||||
| -rw-r--r-- | sys/i386/include/mptable.h | 8 | ||||
| -rw-r--r-- | sys/kern/subr_smp.c | 8 |
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); } } |
