diff options
author | alc <alc@FreeBSD.org> | 2008-05-23 04:03:54 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2008-05-23 04:03:54 +0000 |
commit | 964def13e21f87de612c9d4ca76700f87ac7481d (patch) | |
tree | 7b71ba6c9ad6e017f630dbd471f1a45b660cb56e /sys/i386 | |
parent | 7518e47337db78bab424b42d623f97fcc72f8613 (diff) | |
download | FreeBSD-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.c | 298 |
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) { |