From 4962d93866403a94d9ed27405fe9e0b8eb570c04 Mon Sep 17 00:00:00 2001 From: KATO Takenori Date: Fri, 27 Jun 1997 13:46:19 +0000 Subject: [PATCH] Added CPU_DIRECT_MAPPED_CACHE option which sets L1 cache in direct mapped mode on Cyrix 486DLC box. --- sys/amd64/amd64/initcpu.c | 5 ++++- sys/conf/NOTES | 7 ++++++- sys/i386/conf/LINT | 7 ++++++- sys/i386/conf/NOTES | 7 ++++++- sys/i386/i386/initcpu.c | 5 ++++- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/sys/amd64/amd64/initcpu.c b/sys/amd64/amd64/initcpu.c index c5e8a180a5c9..624c3667c185 100644 --- a/sys/amd64/amd64/initcpu.c +++ b/sys/amd64/amd64/initcpu.c @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: initcpu.c,v 1.4 1997/04/26 04:08:45 kato Exp $ + * $Id: initcpu.c,v 1.5 1997/05/31 08:45:24 kato Exp $ */ #include "opt_cpu.h" @@ -118,6 +118,9 @@ init_486dlc(void) ccr0 |= CCR0_NC1 | CCR0_BARB; #else ccr0 |= CCR0_NC1; +#endif +#ifdef CPU_DIRECT_MAPPED_CACHE + ccr0 |= CCR0_CO; /* Direct mapped mode. */ #endif write_cyrix_reg(CCR0, ccr0); diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 3d625261949e..5d1a2d9eab5b 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.345 1997/06/17 05:58:15 kjc Exp $ +# $Id: LINT,v 1.346 1997/06/22 16:02:55 peter Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -138,6 +138,9 @@ cpu "I686_CPU" # aka Pentium Pro(tm) # # CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1). # +# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct +# mapped mode. Default is 2-way set associative mode. +# # CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables # reorder). This option should not be used if you use memory mapped # I/O device(s). @@ -146,6 +149,7 @@ cpu "I686_CPU" # aka Pentium Pro(tm) # # CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products # for i386 machines. +# # CPU_IORT defines I/O clock delay time (NOTE 1). Default vaules of # I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively # (no clock delay). @@ -177,6 +181,7 @@ cpu "I686_CPU" # aka Pentium Pro(tm) options "CPU_BLUELIGHTNING_FPU_OP_CACHE" options "CPU_BLUELIGHTNING_3X" options "CPU_BTB_EN" +options "CPU_DIRECT_MAPPED_CACHE" options "CPU_DISABLE_5X86_LSSER" options "CPU_FASTER_5X86_FPU" options "CPU_I486_ON_386" diff --git a/sys/i386/conf/LINT b/sys/i386/conf/LINT index 3d625261949e..5d1a2d9eab5b 100644 --- a/sys/i386/conf/LINT +++ b/sys/i386/conf/LINT @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.345 1997/06/17 05:58:15 kjc Exp $ +# $Id: LINT,v 1.346 1997/06/22 16:02:55 peter Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -138,6 +138,9 @@ cpu "I686_CPU" # aka Pentium Pro(tm) # # CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1). # +# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct +# mapped mode. Default is 2-way set associative mode. +# # CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables # reorder). This option should not be used if you use memory mapped # I/O device(s). @@ -146,6 +149,7 @@ cpu "I686_CPU" # aka Pentium Pro(tm) # # CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products # for i386 machines. +# # CPU_IORT defines I/O clock delay time (NOTE 1). Default vaules of # I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively # (no clock delay). @@ -177,6 +181,7 @@ cpu "I686_CPU" # aka Pentium Pro(tm) options "CPU_BLUELIGHTNING_FPU_OP_CACHE" options "CPU_BLUELIGHTNING_3X" options "CPU_BTB_EN" +options "CPU_DIRECT_MAPPED_CACHE" options "CPU_DISABLE_5X86_LSSER" options "CPU_FASTER_5X86_FPU" options "CPU_I486_ON_386" diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES index 3d625261949e..5d1a2d9eab5b 100644 --- a/sys/i386/conf/NOTES +++ b/sys/i386/conf/NOTES @@ -2,7 +2,7 @@ # LINT -- config file for checking all the sources, tries to pull in # as much of the source tree as it can. # -# $Id: LINT,v 1.345 1997/06/17 05:58:15 kjc Exp $ +# $Id: LINT,v 1.346 1997/06/22 16:02:55 peter Exp $ # # NB: You probably don't want to try running a kernel built from this # file. Instead, you should start from GENERIC, and add options from @@ -138,6 +138,9 @@ cpu "I686_CPU" # aka Pentium Pro(tm) # # CPU_BTB_EN enables branch target buffer on Cyrix 5x86 (NOTE 1). # +# CPU_DIRECT_MAPPED_CACHE sets L1 cache of Cyrix 486DLC CPU in direct +# mapped mode. Default is 2-way set associative mode. +# # CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables # reorder). This option should not be used if you use memory mapped # I/O device(s). @@ -146,6 +149,7 @@ cpu "I686_CPU" # aka Pentium Pro(tm) # # CPU_I486_ON_386 enables CPU cache on i486 based CPU upgrade products # for i386 machines. +# # CPU_IORT defines I/O clock delay time (NOTE 1). Default vaules of # I/O clock delay time on Cyrix 5x86 and 6x86 are 0 and 7,respectively # (no clock delay). @@ -177,6 +181,7 @@ cpu "I686_CPU" # aka Pentium Pro(tm) options "CPU_BLUELIGHTNING_FPU_OP_CACHE" options "CPU_BLUELIGHTNING_3X" options "CPU_BTB_EN" +options "CPU_DIRECT_MAPPED_CACHE" options "CPU_DISABLE_5X86_LSSER" options "CPU_FASTER_5X86_FPU" options "CPU_I486_ON_386" diff --git a/sys/i386/i386/initcpu.c b/sys/i386/i386/initcpu.c index c5e8a180a5c9..624c3667c185 100644 --- a/sys/i386/i386/initcpu.c +++ b/sys/i386/i386/initcpu.c @@ -26,7 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: initcpu.c,v 1.4 1997/04/26 04:08:45 kato Exp $ + * $Id: initcpu.c,v 1.5 1997/05/31 08:45:24 kato Exp $ */ #include "opt_cpu.h" @@ -118,6 +118,9 @@ init_486dlc(void) ccr0 |= CCR0_NC1 | CCR0_BARB; #else ccr0 |= CCR0_NC1; +#endif +#ifdef CPU_DIRECT_MAPPED_CACHE + ccr0 |= CCR0_CO; /* Direct mapped mode. */ #endif write_cyrix_reg(CCR0, ccr0);