Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge, from trunk, r15653 (Add Power PC ISA check to the vbit-test; b…
…ug 352765) git-svn-id: svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_11_BRANCH@15662 a5019735-40e9-0310-863c-91ae7b9d1cf9
- Loading branch information
sewardj
committed
Sep 21, 2015
1 parent
8ebb2bc
commit b313410
Showing
3 changed files
with
120 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
#include <stdio.h> | ||
#include <stdlib.h> | ||
#include <string.h> | ||
|
||
/* main() */ | ||
int main(int argc, char **argv) | ||
{ | ||
/* This program is passed in a minimum ISA that the underlying hardwre | ||
* needs to support. If the HW supports this ISA or newer, return 0 | ||
* for supported. Otherwise, return 1 for not supported. Return 2 for | ||
* usage error. | ||
* | ||
* First argument is required, it must be an ISA version number. | ||
* Second argument "-debug" is optional. If passed, then the defined ISA | ||
* values are printed. | ||
*/ | ||
char *min_isa; | ||
int isa_level = 0; | ||
int debug = 0; | ||
|
||
/* set the isa_level set by the Make */ | ||
|
||
if ((argc == 3) && (strcmp(argv[2], "-debug") == 0)) { | ||
debug = 1; | ||
|
||
} else if (argc != 2) { | ||
fprintf(stderr, "usage: min_power_ISA <ISA> [-debug]\n" ); | ||
exit(2); | ||
} | ||
|
||
min_isa = argv[1]; | ||
|
||
#ifdef HAS_ISA_2_05 | ||
if (debug) printf("HAS_ISA_2_05 is set\n"); | ||
isa_level = 5; | ||
#endif | ||
|
||
#ifdef HAS_ISA_2_06 | ||
if (debug) printf("HAS_ISA_2_06 is set\n"); | ||
isa_level = 6; | ||
#endif | ||
|
||
#ifdef HAS_ISA_2_07 | ||
if (debug) printf("HAS_ISA_2_07 is set\n"); | ||
isa_level = 7; | ||
#endif | ||
|
||
/* return 0 for supported (success), 1 for not supported (failure) */ | ||
if (strcmp (min_isa, "2.05") == 0) { | ||
return !(isa_level >= 5); | ||
|
||
} else if (strcmp (min_isa, "2.06") == 0) { | ||
return !(isa_level >= 6); | ||
|
||
} else if (strcmp (min_isa, "2.07") == 0) { | ||
return !(isa_level >= 7); | ||
|
||
} else { | ||
fprintf(stderr, "ERROR: invalid ISA version. Valid versions numbers are:\n" ); | ||
fprintf(stderr, " 2.05, 2.06, 2.07\n" ); | ||
exit(2); | ||
} | ||
|
||
return 1; | ||
} |