|
@@ -397,6 +397,13 @@ static void init_intel(struct cpuinfo_x86 *c)
|
|
|
}
|
|
|
|
|
|
l2 = init_intel_cacheinfo(c);
|
|
|
+
|
|
|
+ /* Detect legacy cache sizes if init_intel_cacheinfo did not */
|
|
|
+ if (l2 == 0) {
|
|
|
+ cpu_detect_cache_sizes(c);
|
|
|
+ l2 = c->x86_cache_size;
|
|
|
+ }
|
|
|
+
|
|
|
if (c->cpuid_level > 9) {
|
|
|
unsigned eax = cpuid_eax(10);
|
|
|
/* Check for version and the number of counters */
|
|
@@ -500,6 +507,13 @@ static unsigned int intel_size_cache(struct cpuinfo_x86 *c, unsigned int size)
|
|
|
*/
|
|
|
if ((c->x86 == 6) && (c->x86_model == 11) && (size == 0))
|
|
|
size = 256;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Intel Quark SoC X1000 contains a 4-way set associative
|
|
|
+ * 16K cache with a 16 byte cache line and 256 lines per tag
|
|
|
+ */
|
|
|
+ if ((c->x86 == 5) && (c->x86_model == 9))
|
|
|
+ size = 16;
|
|
|
return size;
|
|
|
}
|
|
|
#endif
|
|
@@ -701,7 +715,8 @@ static const struct cpu_dev intel_cpu_dev = {
|
|
|
[3] = "OverDrive PODP5V83",
|
|
|
[4] = "Pentium MMX",
|
|
|
[7] = "Mobile Pentium 75 - 200",
|
|
|
- [8] = "Mobile Pentium MMX"
|
|
|
+ [8] = "Mobile Pentium MMX",
|
|
|
+ [9] = "Quark SoC X1000",
|
|
|
}
|
|
|
},
|
|
|
{ .family = 6, .model_names =
|