Home | History | Annotate | Download | only in util

Lines Matching refs:l3

785 inline void queryCacheSizes_intel_direct(int& l1, int& l2, int& l3)
788 l1 = l2 = l3 = 0;
809 case 3: l3 = cache_size; break;
817 inline void queryCacheSizes_intel_codes(int& l1, int& l2, int& l3)
821 l1 = l2 = l3 = 0;
841 case 0x22: l3 = 512; break; // code and data L3 cache, 512 KB, 4 ways (!), 64 byte lines, dual-sectored
842 case 0x23: l3 = 1024; break; // code and data L3 cache, 1024 KB, 8 ways, 64 byte lines, dual-sectored
843 case 0x25: l3 = 2048; break; // code and data L3 cache, 2048 KB, 8 ways, 64 byte lines, dual-sectored
844 case 0x29: l3 = 4096; break; // code and data L3 cache, 4096 KB, 8 ways, 64 byte lines, dual-sectored
851 case 0x40: l2 = 0; break; // no integrated L2 cache (P6 core) or L3 cache (P4 core)
857 case 0x46: l3 = 4096; break; // code and data L3 cache, 4096 KB, 4 ways, 64 byte lines
858 case 0x47: l3L3 cache, 8192 KB, 8 ways, 64 byte lines
860 case 0x49: if(l2!=0) l3 = 4096; else {check_for_p2_core2=true; l3 = l2 = 4096;} break;// code and data L3 cache, 4096 KB, 16 ways, 64 byte lines (P4) or L2 for core2
861 case 0x4A: l3 = 6144; break; // code and data L3 cache, 6144 KB, 12 ways, 64 byte lines
862 case 0x4B: l3 = 8192; break; // code and data L3 cache, 8192 KB, 16 ways, 64 byte lines
863 case 0x4C: l3 = 12288; break; // code and data L3 cache, 12288 KB, 12 ways, 64 byte lines
864 case 0x4D: l3 = 16384; break; // code and data L3 cache, 16384 KB, 16 ways, 64 byte lines
882 case 0x88: l3 = 2048; break; // code and data L3 cache, 2048 KB, 4 ways, 64 byte lines (IA-64)
883 case 0x89: l3 = 4096; break; // code and data L3 cache, 4096 KB, 4 ways, 64 byte lines (IA-64)
884 case 0x8A: l3 = 8192; break; // code and data L3 cache, 8192 KB, 4 ways, 64 byte lines (IA-64)
885 case 0x8D: l3 = 3072; break; // code and data L3 cache, 3072 KB, 12 ways, 128 byte lines (IA-64)
890 if(check_for_p2_core2 && l2 == l3)
891 l3 = 0;
894 l3 *= 1024;
897 inline void queryCacheSizes_intel(int& l1, int& l2, int& l3, int max_std_funcs)
900 queryCacheSizes_intel_direct(l1,l2,l3);
902 queryCacheSizes_intel_codes(l1,l2,l3);
905 inline void queryCacheSizes_amd(int& l1, int& l2, int& l3)
914 l3 = ((abcd[3] & 0xFFFC000) >> 18) * 512 * 1024; // D[31;18] = l3 cache size in 512KB
919 * Queries and returns the cache sizes in Bytes of the L1, L2, and L3 data caches respectively */
920 inline void queryCacheSizes(int& l1, int& l2, int& l3)
932 queryCacheSizes_intel(l1,l2,l3,max_std_funcs);
934 queryCacheSizes_amd(l1,l2,l3);
937 queryCacheSizes_intel(l1,l2,l3,max_std_funcs);
951 l1 = l2 = l3 = -1;
959 int l1(-1), l2, l3;
960 queryCacheSizes(l1,l2,l3);
965 * \returns the size in Bytes of the L2 or L3 cache if this later is present */
968 int l1, l2(-1), l3(-1);
969 queryCacheSizes(l1,l2,l3);
970 return (std::max)(l2,l3);