|
|
@@ -86,23 +86,29 @@ int detect(void){ |
|
|
|
char *pmodel = NULL, *pisa = NULL; |
|
|
|
|
|
|
|
infile = fopen("/proc/cpuinfo", "r"); |
|
|
|
if (!infile) |
|
|
|
return CPU_GENERIC; |
|
|
|
while (fgets(buffer, sizeof(buffer), infile)){ |
|
|
|
if(!strncmp(buffer, "model name", 10)){ |
|
|
|
strcpy(model_buffer, buffer); |
|
|
|
pmodel = strchr(isa_buffer, ':') + 1; |
|
|
|
pmodel = strchr(model_buffer, ':'); |
|
|
|
if (pmodel) |
|
|
|
pmodel++; |
|
|
|
} |
|
|
|
|
|
|
|
if(!strncmp(buffer, "isa", 3)){ |
|
|
|
strcpy(isa_buffer, buffer); |
|
|
|
pisa = strchr(isa_buffer, '4') + 1; |
|
|
|
pisa = strchr(isa_buffer, '4'); |
|
|
|
if (pisa) |
|
|
|
pisa++; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
fclose(infile); |
|
|
|
|
|
|
|
if (!pmodel) |
|
|
|
if (!pmodel || !pisa) |
|
|
|
return(CPU_GENERIC); |
|
|
|
|
|
|
|
|
|
|
|
if (strstr(pmodel, check_c910_str) && strchr(pisa, 'v')) |
|
|
|
return CPU_C910V; |
|
|
|
|
|
|
|