usr/src/uts/i86pc/os/cpuid.c
changeset 6334 950d3f34a725
parent 6317 8afb524fc268
child 6445 b24ee0bb9cea
equal deleted inserted replaced
6333:42f4f9c81ff6 6334:950d3f34a725
  2846 static const char l3_cache_str[] = "l3-cache";
  2846 static const char l3_cache_str[] = "l3-cache";
  2847 static const char itlb4k_str[] = "itlb-4K";
  2847 static const char itlb4k_str[] = "itlb-4K";
  2848 static const char dtlb4k_str[] = "dtlb-4K";
  2848 static const char dtlb4k_str[] = "dtlb-4K";
  2849 static const char itlb4M_str[] = "itlb-4M";
  2849 static const char itlb4M_str[] = "itlb-4M";
  2850 static const char dtlb4M_str[] = "dtlb-4M";
  2850 static const char dtlb4M_str[] = "dtlb-4M";
       
  2851 static const char dtlb24_str[] = "dtlb0-2M-4M";
  2851 static const char itlb424_str[] = "itlb-4K-2M-4M";
  2852 static const char itlb424_str[] = "itlb-4K-2M-4M";
       
  2853 static const char itlb24_str[] = "itlb-2M-4M";
  2852 static const char dtlb44_str[] = "dtlb-4K-4M";
  2854 static const char dtlb44_str[] = "dtlb-4K-4M";
  2853 static const char sl1_dcache_str[] = "sectored-l1-dcache";
  2855 static const char sl1_dcache_str[] = "sectored-l1-dcache";
  2854 static const char sl2_cache_str[] = "sectored-l2-cache";
  2856 static const char sl2_cache_str[] = "sectored-l2-cache";
  2855 static const char itrace_str[] = "itrace-cache";
  2857 static const char itrace_str[] = "itrace-cache";
  2856 static const char sl3_cache_str[] = "sectored-l3-cache";
  2858 static const char sl3_cache_str[] = "sectored-l3-cache";
       
  2859 static const char sh_l2_tlb4k_str[] = "shared-l2-tlb-4k";
  2857 
  2860 
  2858 static const struct cachetab {
  2861 static const struct cachetab {
  2859 	uint8_t 	ct_code;
  2862 	uint8_t 	ct_code;
  2860 	uint8_t		ct_assoc;
  2863 	uint8_t		ct_assoc;
  2861 	uint16_t 	ct_line_size;
  2864 	uint16_t 	ct_line_size;
  2862 	size_t		ct_size;
  2865 	size_t		ct_size;
  2863 	const char	*ct_label;
  2866 	const char	*ct_label;
  2864 } intel_ctab[] = {
  2867 } intel_ctab[] = {
  2865 	/* maintain descending order! */
  2868 	/* maintain descending order! */
       
  2869 	{ 0xe4, 16, 64, 8*1024*1024, l3_cache_str},
       
  2870 	{ 0xe3, 16, 64, 4*1024*1024, l3_cache_str},
       
  2871 	{ 0xe2, 16, 64, 2*1024*1024, l3_cache_str},
       
  2872 	{ 0xde, 12, 64, 6*1024*1024, l3_cache_str},
       
  2873 	{ 0xdd, 12, 64, 3*1024*1024, l3_cache_str},
       
  2874 	{ 0xdc, 12, 64, ((1*1024*1024)+(512*1024)), l3_cache_str},
       
  2875 	{ 0xd8, 8, 64, 4*1024*1024, l3_cache_str},
       
  2876 	{ 0xd7, 8, 64, 2*1024*1024, l3_cache_str},
       
  2877 	{ 0xd6, 8, 64, 1*1024*1024, l3_cache_str},
       
  2878 	{ 0xd2, 4, 64, 2*1024*1024, l3_cache_str},
       
  2879 	{ 0xd1, 4, 64, 1*1024*1024, l3_cache_str},
       
  2880 	{ 0xd0, 4, 64, 512*1024, l3_cache_str},
       
  2881 	{ 0xca, 4, 0, 512, sh_l2_tlb4k_str},
  2866 	{ 0xb4, 4, 0, 256, dtlb4k_str },
  2882 	{ 0xb4, 4, 0, 256, dtlb4k_str },
  2867 	{ 0xb3, 4, 0, 128, dtlb4k_str },
  2883 	{ 0xb3, 4, 0, 128, dtlb4k_str },
       
  2884 	{ 0xb2, 4, 0, 64, itlb4k_str },
  2868 	{ 0xb0, 4, 0, 128, itlb4k_str },
  2885 	{ 0xb0, 4, 0, 128, itlb4k_str },
  2869 	{ 0x87, 8, 64, 1024*1024, l2_cache_str},
  2886 	{ 0x87, 8, 64, 1024*1024, l2_cache_str},
  2870 	{ 0x86, 4, 64, 512*1024, l2_cache_str},
  2887 	{ 0x86, 4, 64, 512*1024, l2_cache_str},
  2871 	{ 0x85, 8, 32, 2*1024*1024, l2_cache_str},
  2888 	{ 0x85, 8, 32, 2*1024*1024, l2_cache_str},
  2872 	{ 0x84, 8, 32, 1024*1024, l2_cache_str},
  2889 	{ 0x84, 8, 32, 1024*1024, l2_cache_str},
  2888 	{ 0x66, 4, 64, 8*1024, sl1_dcache_str},
  2905 	{ 0x66, 4, 64, 8*1024, sl1_dcache_str},
  2889 	{ 0x60, 8, 64, 16*1024, sl1_dcache_str},
  2906 	{ 0x60, 8, 64, 16*1024, sl1_dcache_str},
  2890 	{ 0x5d, 0, 0, 256, dtlb44_str},
  2907 	{ 0x5d, 0, 0, 256, dtlb44_str},
  2891 	{ 0x5c, 0, 0, 128, dtlb44_str},
  2908 	{ 0x5c, 0, 0, 128, dtlb44_str},
  2892 	{ 0x5b, 0, 0, 64, dtlb44_str},
  2909 	{ 0x5b, 0, 0, 64, dtlb44_str},
       
  2910 	{ 0x5a, 4, 0, 32, dtlb24_str},
       
  2911 	{ 0x55, 0, 0, 7, itlb24_str},
  2893 	{ 0x52, 0, 0, 256, itlb424_str},
  2912 	{ 0x52, 0, 0, 256, itlb424_str},
  2894 	{ 0x51, 0, 0, 128, itlb424_str},
  2913 	{ 0x51, 0, 0, 128, itlb424_str},
  2895 	{ 0x50, 0, 0, 64, itlb424_str},
  2914 	{ 0x50, 0, 0, 64, itlb424_str},
  2896 	{ 0x4d, 16, 64, 16*1024*1024, l3_cache_str},
  2915 	{ 0x4d, 16, 64, 16*1024*1024, l3_cache_str},
  2897 	{ 0x4c, 12, 64, 12*1024*1024, l3_cache_str},
  2916 	{ 0x4c, 12, 64, 12*1024*1024, l3_cache_str},
  2915 	{ 0x2c, 8, 64, 32*1024, l1_dcache_str},
  2934 	{ 0x2c, 8, 64, 32*1024, l1_dcache_str},
  2916 	{ 0x29, 8, 64, 4096*1024, sl3_cache_str},
  2935 	{ 0x29, 8, 64, 4096*1024, sl3_cache_str},
  2917 	{ 0x25, 8, 64, 2048*1024, sl3_cache_str},
  2936 	{ 0x25, 8, 64, 2048*1024, sl3_cache_str},
  2918 	{ 0x23, 8, 64, 1024*1024, sl3_cache_str},
  2937 	{ 0x23, 8, 64, 1024*1024, sl3_cache_str},
  2919 	{ 0x22, 4, 64, 512*1024, sl3_cache_str},
  2938 	{ 0x22, 4, 64, 512*1024, sl3_cache_str},
       
  2939 	{ 0x0d, 4, 32, 16*1024, l1_dcache_str},
  2920 	{ 0x0c, 4, 32, 16*1024, l1_dcache_str},
  2940 	{ 0x0c, 4, 32, 16*1024, l1_dcache_str},
  2921 	{ 0x0b, 4, 0, 4, itlb4M_str},
  2941 	{ 0x0b, 4, 0, 4, itlb4M_str},
  2922 	{ 0x0a, 2, 32, 8*1024, l1_dcache_str},
  2942 	{ 0x0a, 2, 32, 8*1024, l1_dcache_str},
  2923 	{ 0x08, 4, 32, 16*1024, l1_icache_str},
  2943 	{ 0x08, 4, 32, 16*1024, l1_icache_str},
  2924 	{ 0x06, 4, 32, 8*1024, l1_icache_str},
  2944 	{ 0x06, 4, 32, 8*1024, l1_icache_str},