diff --git a/system/cpuinfo.c b/system/cpuinfo.c index 03ae4d6..89bb712 100644 --- a/system/cpuinfo.c +++ b/system/cpuinfo.c @@ -86,6 +86,13 @@ static void determine_cache_size() } // Zhaoxin CPU only /* fall through */ + case 'V': + // Vortex86 + if (cpuid_info.vendor_id.str[0] == 'V' && cpuid_info.version.family < 6) { + // Only family 6 have cache info + break; + } + /* fall through */ case 'G': if (cpuid_info.vendor_id.str[9] == 'N') { // National Semiconductor @@ -846,6 +853,37 @@ static void determine_cpu_model(void) } } break; + + case 'V': + // Vortex86 SoC + switch (cpuid_info.version.family) { + case 5: + switch (cpuid_info.version.model) { + case 2: + cpu_model = "Vortex86DX"; + l1_cache = 16; + l2_cache = 256; + break; + case 8: + cpu_model = "Vortex86MX/DX2"; + l1_cache = 16; + l2_cache = 256; + break; + default: + break; + } + break; + case 6: + // Other family 6 models have brand string + cpu_model = "Vortex86EX"; + l1_cache = 16; + l2_cache = 128; + break; + default: + break; + } + break; + default: // Unknown processor - make a guess at the family. switch (cpuid_info.version.family) {