Esempio n. 1
0
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;
    }

}
Esempio n. 2
0
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;
   }

}