static int go(char *feature) { int cpuinfo; if (strcmp(feature, "fpu") == 0) { #if defined(__mips_hard_float) /* This is not a runtime detection. If mips_features is built as hard-float, the assumption is that the target MIPS platform has a floating-point unit. */ return FEATURE_PRESENT; #else return FEATURE_NOT_PRESENT; #endif } else if (strcmp(feature, "mips32-dsp") == 0) { const char *dsp = "dsp"; cpuinfo = mipsCPUInfo(dsp); if (cpuinfo == 1) { return FEATURE_PRESENT; } else { return FEATURE_NOT_PRESENT; } } else if (strcmp(feature, "mips32-dspr2") == 0) { const char *dsp2 = "dsp2"; cpuinfo = mipsCPUInfo(dsp2); if (cpuinfo == 1) { return FEATURE_PRESENT; } else { return FEATURE_NOT_PRESENT; } } else if (strcmp(feature, "cavium-octeon") == 0) { const char *cavium = "Cavium Octeon"; cpuinfo = mipsCPUInfo(cavium); if (cpuinfo == 1) { return FEATURE_PRESENT; } else { return FEATURE_NOT_PRESENT; } } else if (strcmp(feature, "cavium-octeon2") == 0) { const char *cavium2 = "Cavium Octeon II"; cpuinfo = mipsCPUInfo(cavium2); if (cpuinfo == 1) { return FEATURE_PRESENT; } else { return FEATURE_NOT_PRESENT; } } else if (strcmp(feature, "mips-be") == 0) { #if defined (_MIPSEB) return FEATURE_PRESENT; #else return FEATURE_NOT_PRESENT; #endif } else { return UNRECOGNISED_FEATURE; } }
static int go(char *feature) { int cpuinfo; if (strcmp(feature, "mips32-dsp") == 0) { const char *dsp = "dsp"; cpuinfo = mipsCPUInfo(dsp); if (cpuinfo == 1) { return FEATURE_PRESENT; } else{ return FEATURE_NOT_PRESENT; } } else if (strcmp(feature, "mips32-dspr2") == 0) { const char *dsp2 = "dsp2"; cpuinfo = mipsCPUInfo(dsp2); if (cpuinfo == 1) { return FEATURE_PRESENT; } else{ return FEATURE_NOT_PRESENT; } } else if (strcmp(feature, "cavium-octeon") == 0) { const char *cavium = "Cavium Octeon"; cpuinfo = mipsCPUInfo(cavium); if (cpuinfo == 1) { return FEATURE_PRESENT; } else{ return FEATURE_NOT_PRESENT; } } else if (strcmp(feature, "cavium-octeon2") == 0) { const char *cavium2 = "Cavium Octeon II"; cpuinfo = mipsCPUInfo(cavium2); if (cpuinfo == 1) { return FEATURE_PRESENT; } else{ return FEATURE_NOT_PRESENT; } } else if (strcmp(feature, "mips-be") == 0) { #if defined (_MIPSEB) return FEATURE_PRESENT; #else return FEATURE_NOT_PRESENT; #endif } else { return UNRECOGNISED_FEATURE; } }