summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugeni Dodonov <eugeni.dodonov@intel.com>2011-10-17 17:48:18 -0200
committerEugeni Dodonov <eugeni.dodonov@intel.com>2011-10-17 17:50:39 -0200
commite98f308994711b3bc22d70c782bdf800eb253a0f (patch)
tree81fd45d5c3a0166d0252608de9b1128fdca7033a
parentf312f89f4ae65ee969ec30657724b1fd5a1ebd44 (diff)
Allow intel_dump_decode to read data from stdin.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
-rw-r--r--tools/intel_dump_decode.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/tools/intel_dump_decode.c b/tools/intel_dump_decode.c
index 012c944..26d57f5 100644
--- a/tools/intel_dump_decode.c
+++ b/tools/intel_dump_decode.c
@@ -43,7 +43,10 @@ read_bin_file(uint32_t devid, const char * filename)
uint32_t buf[16384];
int fd, offset, ret;
- fd = open (filename, O_RDONLY);
+ if (!strcmp(filename, "-"))
+ fd = fileno(stdin);
+ else
+ fd = open (filename, O_RDONLY);
if (fd < 0) {
fprintf (stderr, "Failed to open %s: %s\n",
filename, strerror (errno));
@@ -69,7 +72,11 @@ read_data_file(uint32_t devid, const char * filename)
uint32_t offset, value;
uint32_t gtt_offset = 0;
- file = fopen (filename, "r");
+ if (!strcmp(filename, "-"))
+ file = stdin;
+ else
+ file = fopen (filename, "r");
+
if (file == NULL) {
fprintf (stderr, "Failed to open %s: %s\n",
filename, strerror (errno));
@@ -179,6 +186,11 @@ main (int argc, char *argv[])
}
for (i = optind; i < argc; i++) {
+ /* For stdin input, let's read as data file */
+ if (!strcmp(argv[i], "-")) {
+ read_data_file(devid, argv[i]);
+ continue;
+ }
if (binary == 1)
read_bin_file(devid, argv[i]);
else if (binary == 0)