From 3734637c0c41eedc5b5dc4f1ced50610a7a17db4 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Fri, 15 Sep 2017 17:24:12 -0700 Subject: misc: Make the m5 utilities writefile command accept a host path. When the writefile command is given one command line argument, it's treated as the name of the file in the simulation and on the host. When there are two arguments, the first is the filename in the simulation, and the second is the name on the host. Change-Id: I402925a9ff89665bee9910fb18b7f8b06b8f7d35 Reviewed-on: https://gem5-review.googlesource.com/4850 Reviewed-by: Jason Lowe-Power Maintainer: Gabe Black --- util/m5/m5.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'util') diff --git a/util/m5/m5.c b/util/m5/m5.c index 82ef73b0f..38da9dc37 100644 --- a/util/m5/m5.c +++ b/util/m5/m5.c @@ -140,7 +140,7 @@ read_file(int dest_fid) } void -write_file(const char *filename) +write_file(const char *filename, const char *host_filename) { fprintf(stderr, "opening %s\n", filename); int src_fid = open(filename, O_RDONLY); @@ -158,7 +158,7 @@ write_file(const char *filename) memset(buf, 0, sizeof(buf)); while ((len = read(src_fid, buf, sizeof(buf))) > 0) { - bytes += m5_write_file(buf, len, offset, filename); + bytes += m5_write_file(buf, len, offset, host_filename); offset += len; } fprintf(stderr, "written %d bytes\n", bytes); @@ -224,12 +224,13 @@ do_read_file(int argc, char *argv[]) void do_write_file(int argc, char *argv[]) { - if (argc != 1) + if (argc != 1 && argc != 2) usage(); const char *filename = argv[0]; + const char *host_filename = (argc == 2) ? argv[1] : argv[0]; - write_file(filename); + write_file(filename, host_filename); } void @@ -344,7 +345,7 @@ struct MainFunc mainfuncs[] = { { "dumpstats", do_dump_stats, "[delay [period]]" }, { "dumpresetstats", do_dump_reset_stats, "[delay [period]]" }, { "readfile", do_read_file, "" }, - { "writefile", do_write_file, "" }, + { "writefile", do_write_file, " [host filename]" }, { "execfile", do_exec_file, "" }, { "checkpoint", do_checkpoint, "[delay [period]]" }, { "addsymbol", do_addsymbol, "
" }, -- cgit v1.2.3