mips32/mips64: rename mips32_features to mips_features

As this file is now detecting mips64/Cavium boards, we are renaming it to
reflect that. The functional change is that mips_features now can detect
Cavium board and allow Cavium-specific tests to be run.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13551
This commit is contained in:
Petar Jovanovic 2013-09-15 22:49:01 +00:00
parent 6303a18f51
commit 567ed9419a
4 changed files with 16 additions and 8 deletions

View File

@ -1,3 +1,3 @@
prog: mips32_dsp
prereq: ../../../tests/mips32_features mips32-dsp
prereq: ../../../tests/mips_features mips32-dsp
vgopts: -q

View File

@ -1,3 +1,3 @@
prog: mips32_dspr2
prereq: ../../../tests/mips32_features mips32-dspr2
prereq: ../../../tests/mips_features mips32-dspr2
vgopts: -q

View File

@ -26,7 +26,7 @@ check_PROGRAMS = \
true \
x86_amd64_features \
s390x_features \
mips32_features
mips_features
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)

View File

@ -1,10 +1,10 @@
// This file determines MIPS32 features a processor supports.
// This file determines MIPS features a processor supports.
//
// We return:
// - 0 if the machine matches the asked-for feature.
// - 1 if the machine does not.
// - 2 if the asked-for feature isn't recognised (this will be the case for
// any feature if run on a non-MIPS32 machine).
// any feature if run on a non-MIPS machine).
// - 3 if there was a usage error (it also prints an error message).
#include <stdio.h>
#include <stdlib.h>
@ -16,7 +16,7 @@
#define UNRECOGNISED_FEATURE 2
#define USAGE_ERROR 3
#if defined(VGA_mips32)
#if defined(VGA_mips32) || defined(VGA_mips64)
static int mipsCPUInfo(const char *search_string) {
const char *file_name = "/proc/cpuinfo";
/* Simple detection of MIPS DSP ASE at runtime for Linux.
@ -63,6 +63,14 @@ static int go(char *feature)
} 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 {
return UNRECOGNISED_FEATURE;
}
@ -73,7 +81,7 @@ static int go(char *feature)
static int go(char *feature)
{
/* Feature is not recognised. (non-MIPS32 machine!) */
/* Feature is not recognised. (non-MIPS machine!) */
return UNRECOGNISED_FEATURE;
}
@ -86,7 +94,7 @@ static int go(char *feature)
int main(int argc, char **argv)
{
if (argc != 2) {
fprintf( stderr, "usage: mips32_features <feature>\n" );
fprintf( stderr, "usage: mips_features <feature>\n" );
exit(USAGE_ERROR);
}
return go(argv[1]);