summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2008-05-23 04:03:54 +0000
committeralc <alc@FreeBSD.org>2008-05-23 04:03:54 +0000
commit964def13e21f87de612c9d4ca76700f87ac7481d (patch)
tree7b71ba6c9ad6e017f630dbd471f1a45b660cb56e /sys/i386
parent7518e47337db78bab424b42d623f97fcc72f8613 (diff)
downloadFreeBSD-src-964def13e21f87de612c9d4ca76700f87ac7481d.zip
FreeBSD-src-964def13e21f87de612c9d4ca76700f87ac7481d.tar.gz
The VM system no longer uses setPQL2(). Remove it and its helpers.
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/identcpu.c298
1 files changed, 0 insertions, 298 deletions
diff --git a/sys/i386/i386/identcpu.c b/sys/i386/i386/identcpu.c
index 308b83b..516c505 100644
--- a/sys/i386/i386/identcpu.c
+++ b/sys/i386/i386/identcpu.c
@@ -77,10 +77,6 @@ void panicifcpuunsupported(void);
static void identifycyrix(void);
static void init_exthigh(void);
-void setPQL2(int *const size, int *const ways);
-static void setPQL2_AMD(int *const size, int *const ways);
-static void setPQL2_INTEL(int *const size, int *const ways);
-static void get_INTEL_TLB(u_int data, int *const size, int *const ways);
static void print_AMD_info(void);
static void print_INTEL_info(void);
static void print_INTEL_TLB(u_int data);
@@ -1462,300 +1458,6 @@ print_INTEL_TLB(u_int data)
}
}
-
-static void
-setPQL2_AMD(int *const size, int *const ways)
-{
- if (cpu_exthigh >= 0x80000006) {
- u_int regs[4];
-
- do_cpuid(0x80000006, regs);
- *size = regs[2] >> 16;
- *ways = (regs[2] >> 12) & 0x0f;
- }
-}
-
-
-static void
-setPQL2_INTEL(int *const size, int *const ways)
-{
- u_int rounds, regnum;
- u_int regs[4];
- u_int nwaycode;
-
- if (cpu_high >= 2) {
- rounds = 0;
- do {
- do_cpuid(0x2, regs);
- if (rounds == 0 && (rounds = (regs[0] & 0xff)) == 0)
- break; /* we have a buggy CPU */
-
- for (regnum = 0; regnum <= 3; ++regnum) {
- if (regs[regnum] & (1<<31))
- continue;
- if (regnum != 0)
- get_INTEL_TLB(regs[regnum] & 0xff,
- size, ways);
- get_INTEL_TLB((regs[regnum] >> 8) & 0xff,
- size, ways);
- get_INTEL_TLB((regs[regnum] >> 16) & 0xff,
- size, ways);
- get_INTEL_TLB((regs[regnum] >> 24) & 0xff,
- size, ways);
- }
- } while (--rounds > 0);
- }
-
- if (cpu_exthigh >= 0x80000006) {
- do_cpuid(0x80000006, regs);
- if (*size < ((regs[2] >> 16) & 0xffff)) {
- *size = (regs[2] >> 16) & 0xffff;
- nwaycode = (regs[2] >> 12) & 0x0f;
- if (nwaycode >= 0x02 && nwaycode <= 0x08)
- *ways = 1 << (nwaycode / 2);
- else
- *ways = 0;
- }
- }
-}
-
-static void
-get_INTEL_TLB(u_int data, int *const size, int *const ways)
-{
- switch (data) {
- default:
- break;
- case 0x22:
- /* 3rd-level cache: 512 KB, 4-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 512) {
- *size = 512;
- *ways = 4;
- }
- break;
- case 0x23:
- /* 3rd-level cache: 1 MB, 8-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 1024) {
- *size = 1024;
- *ways = 8;
- }
- break;
- case 0x25:
- /* 3rd-level cache: 2 MB, 8-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 2048) {
- *size = 2048;
- *ways = 8;
- }
- break;
- case 0x29:
- /* 3rd-level cache: 4 MB, 8-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 4096) {
- *size = 4096;
- *ways = 8;
- }
- break;
- case 0x39:
- /* 2nd-level cache: 128 KB, 4-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 128) {
- *size = 128;
- *ways = 4;
- }
- break;
- case 0x3b:
- /* 2nd-level cache: 128 KB, 2-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 128) {
- *size = 128;
- *ways = 2;
- }
- break;
- case 0x3c:
- /* 2nd-level cache: 256 KB, 4-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 256) {
- *size = 256;
- *ways = 4;
- }
- break;
- case 0x41:
- /* 2nd-level cache: 128 KB, 4-way set associative,
- * 32 byte line size */
- if (*size < 128) {
- *size = 128;
- *ways = 4;
- }
- break;
- case 0x42:
- /* 2nd-level cache: 256 KB, 4-way set associative,
- * 32 byte line size */
- if (*size < 256) {
- *size = 256;
- *ways = 4;
- }
- break;
- case 0x43:
- /* 2nd-level cache: 512 KB, 4-way set associative,
- * 32 byte line size */
- if (*size < 512) {
- *size = 512;
- *ways = 4;
- }
- break;
- case 0x44:
- /* 2nd-level cache: 1 MB, 4-way set associative,
- * 32 byte line size */
- if (*size < 1024) {
- *size = 1024;
- *ways = 4;
- }
- break;
- case 0x45:
- /* 2nd-level cache: 2 MB, 4-way set associative,
- * 32 byte line size */
- if (*size < 2048) {
- *size = 2048;
- *ways = 4;
- }
- break;
- case 0x46:
- /* 3rd-level cache: 4 MB, 4-way set associative,
- * 64 byte line size */
- if (*size < 4096) {
- *size = 4096;
- *ways = 4;
- }
- break;
- case 0x47:
- /* 3rd-level cache: 8 MB, 8-way set associative,
- * 64 byte line size */
- if (*size < 8192) {
- *size = 8192;
- *ways = 8;
- }
- break;
- case 0x78:
- /* 2nd-level cache: 1 MB, 4-way set associative,
- * 64-byte line size */
- if (*size < 1024) {
- *size = 1024;
- *ways = 4;
- }
- break;
- case 0x79:
- /* 2nd-level cache: 128 KB, 8-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 128) {
- *size = 128;
- *ways = 8;
- }
- break;
- case 0x7a:
- /* 2nd-level cache: 256 KB, 8-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 256) {
- *size = 256;
- *ways = 8;
- }
- break;
- case 0x7b:
- /* 2nd-level cache: 512 KB, 8-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 512) {
- *size = 512;
- *ways = 8;
- }
- break;
- case 0x7c:
- /* 2nd-level cache: 1 MB, 8-way set associative,
- * sectored cache, 64 byte line size */
- if (*size < 1024) {
- *size = 1024;
- *ways = 8;
- }
- break;
- case 0x7d:
- /* 2nd-level cache: 2 MB, 8-way set associative,
- * 64-byte line size */
- if (*size < 2048) {
- *size = 2048;
- *ways = 8;
- }
- break;
- case 0x7f:
- /* 2nd-level cache: 512 KB, 2-way set associative,
- * 64-byte line size */
- if (*size < 512) {
- *size = 512;
- *ways = 2;
- }
- break;
- case 0x82:
- /* 2nd-level cache: 256 KB, 8-way set associative,
- * 32 byte line size */
- if (*size < 256) {
- *size = 256;
- *ways = 8;
- }
- break;
- case 0x83:
- /* 2nd-level cache: 512 KB, 8-way set associative,
- * 32 byte line size */
- if (*size < 512) {
- *size = 512;
- *ways = 8;
- }
- break;
- case 0x84:
- /* 2nd-level cache: 1 MB, 8-way set associative,
- * 32 byte line size */
- if (*size < 1024) {
- *size = 1024;
- *ways = 8;
- }
- break;
- case 0x85:
- /* 2nd-level cache: 2 MB, 8-way set associative,
- * 32 byte line size */
- if (*size < 2048) {
- *size = 2048;
- *ways = 8;
- }
- break;
- case 0x86:
- /* 2nd-level cache: 512 KB, 4-way set associative,
- * 64 byte line size */
- if (*size < 512) {
- *size = 512;
- *ways = 4;
- }
- break;
- case 0x87:
- /* 2nd-level cache: 1 MB, 8-way set associative,
- * 64 byte line size */
- if (*size < 1024) {
- *size = 512;
- *ways = 8;
- }
- break;
- }
-}
-
-void
-setPQL2(int *const size, int *const ways)
-{
- /* make sure the cpu_exthigh variable is initialized */
- init_exthigh();
-
- if (strcmp(cpu_vendor, "AuthenticAMD") == 0)
- setPQL2_AMD(size, ways);
- else if (strcmp(cpu_vendor, "GenuineIntel") == 0)
- setPQL2_INTEL(size, ways);
-}
-
static void
print_transmeta_info(void)
{
OpenPOWER on IntegriCloud