m5.c (12023:272819f230c0) m5.c (12160:c282cb504275)
1/*
2 * Copyright (c) 2011, 2017 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 103 unchanged lines hidden (view full) ---

112 int offset = 0;
113 int len, ret;
114
115 // Touch all buffer pages to ensure they are mapped in the
116 // page table. This is required in the case of X86_FS, where
117 // Linux does demand paging.
118 memset(buf, 0, sizeof(buf));
119
1/*
2 * Copyright (c) 2011, 2017 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 103 unchanged lines hidden (view full) ---

112 int offset = 0;
113 int len, ret;
114
115 // Touch all buffer pages to ensure they are mapped in the
116 // page table. This is required in the case of X86_FS, where
117 // Linux does demand paging.
118 memset(buf, 0, sizeof(buf));
119
120 while ((len = m5_readfile(buf, sizeof(buf), offset)) > 0) {
120 while ((len = m5_read_file(buf, sizeof(buf), offset)) > 0) {
121 uint8_t *base = buf;
122 offset += len;
123 do {
124 ret = write(dest_fid, base, len);
125 if (ret < 0) {
126 perror("Failed to write file");
127 exit(2);
128 } else if (ret == 0) {

--- 24 unchanged lines hidden (view full) ---

153 char buf[256*1024];
154 int offset = 0;
155 int len;
156 int bytes = 0;
157
158 memset(buf, 0, sizeof(buf));
159
160 while ((len = read(src_fid, buf, sizeof(buf))) > 0) {
121 uint8_t *base = buf;
122 offset += len;
123 do {
124 ret = write(dest_fid, base, len);
125 if (ret < 0) {
126 perror("Failed to write file");
127 exit(2);
128 } else if (ret == 0) {

--- 24 unchanged lines hidden (view full) ---

153 char buf[256*1024];
154 int offset = 0;
155 int len;
156 int bytes = 0;
157
158 memset(buf, 0, sizeof(buf));
159
160 while ((len = read(src_fid, buf, sizeof(buf))) > 0) {
161 bytes += m5_writefile(buf, len, offset, filename);
161 bytes += m5_write_file(buf, len, offset, filename);
162 offset += len;
163 }
164 fprintf(stderr, "written %d bytes\n", bytes);
165
166 close(src_fid);
167}
168
169void

--- 34 unchanged lines hidden (view full) ---

204 m5_dump_stats(ints[0], ints[1]);
205}
206
207void
208do_dump_reset_stats(int argc, char *argv[])
209{
210 uint64_t ints[2];
211 parse_int_args(argc, argv, ints, 2);
162 offset += len;
163 }
164 fprintf(stderr, "written %d bytes\n", bytes);
165
166 close(src_fid);
167}
168
169void

--- 34 unchanged lines hidden (view full) ---

204 m5_dump_stats(ints[0], ints[1]);
205}
206
207void
208do_dump_reset_stats(int argc, char *argv[])
209{
210 uint64_t ints[2];
211 parse_int_args(argc, argv, ints, 2);
212 m5_dumpreset_stats(ints[0], ints[1]);
212 m5_dump_reset_stats(ints[0], ints[1]);
213}
214
215void
216do_read_file(int argc, char *argv[])
217{
218 if (argc > 0)
219 usage();
220

--- 39 unchanged lines hidden (view full) ---

260void
261do_addsymbol(int argc, char *argv[])
262{
263 if (argc != 2)
264 usage();
265
266 uint64_t addr = strtoul(argv[0], NULL, 0);
267 char *symbol = argv[1];
213}
214
215void
216do_read_file(int argc, char *argv[])
217{
218 if (argc > 0)
219 usage();
220

--- 39 unchanged lines hidden (view full) ---

260void
261do_addsymbol(int argc, char *argv[])
262{
263 if (argc != 2)
264 usage();
265
266 uint64_t addr = strtoul(argv[0], NULL, 0);
267 char *symbol = argv[1];
268 m5_addsymbol(addr, symbol);
268 m5_add_symbol(addr, symbol);
269}
270
271
272void
273do_loadsymbol(int argc, char *argv[])
274{
275 if (argc > 0)
276 usage();
277
269}
270
271
272void
273do_loadsymbol(int argc, char *argv[])
274{
275 if (argc > 0)
276 usage();
277
278 m5_loadsymbol();
278 m5_load_symbol();
279}
280
281void
282do_initparam(int argc, char *argv[])
283{
284 if (argc > 1)
285 usage();
286
287 uint64_t key_str[2];
288 parse_str_args_to_regs(argc, argv, key_str, 2);
279}
280
281void
282do_initparam(int argc, char *argv[])
283{
284 if (argc > 1)
285 usage();
286
287 uint64_t key_str[2];
288 parse_str_args_to_regs(argc, argv, key_str, 2);
289 uint64_t val = m5_initparam(key_str[0], key_str[1]);
289 uint64_t val = m5_init_param(key_str[0], key_str[1]);
290 printf("%"PRIu64, val);
291}
292
293void
294do_sw99param(int argc, char *argv[])
295{
296 if (argc != 0)
297 usage();
298
290 printf("%"PRIu64, val);
291}
292
293void
294do_sw99param(int argc, char *argv[])
295{
296 if (argc != 0)
297 usage();
298
299 uint64_t param = m5_initparam(0, 0);
299 uint64_t param = m5_init_param(0, 0);
300
301 // run-time, rampup-time, rampdown-time, warmup-time, connections
302 printf("%"PRId64" %"PRId64" %"PRId64" %"PRId64" %"PRId64,
303 (param >> 48) & 0xfff,
304 (param >> 36) & 0xfff, (param >> 24) & 0xfff,
305 (param >> 12) & 0xfff, (param >> 0) & 0xfff);
306}
307

--- 115 unchanged lines hidden ---
300
301 // run-time, rampup-time, rampdown-time, warmup-time, connections
302 printf("%"PRId64" %"PRId64" %"PRId64" %"PRId64" %"PRId64,
303 (param >> 48) & 0xfff,
304 (param >> 36) & 0xfff, (param >> 24) & 0xfff,
305 (param >> 12) & 0xfff, (param >> 0) & 0xfff);
306}
307

--- 115 unchanged lines hidden ---