Swapnil Haria has uploaded this change for review. ( https://gem5-review.googlesource.com/5583

Change subject: Tried to fix m5_read_file issue, put in bad fix
......................................................................

Tried to fix m5_read_file issue, put in bad fix

Change-Id: I39f057a2211b2a04688f2d0bf0c6d1fbf67b4cc4
---
M .gitignore
M src/arch/generic/mmapped_ipr.cc
M src/sim/pseudo_inst.cc
M util/m5/m5.c
4 files changed, 19 insertions(+), 2 deletions(-)



diff --git a/.gitignore b/.gitignore
index 6075ffe..0b1b017 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,9 @@
+configs/boot/test-large.rcS
+configs/boot/test.rcS
+fs-files/
+kvm.patch
+ubuntu.img
+vmlinux-4.14-rc6
 build
 parser.out
 parsetab.py
diff --git a/src/arch/generic/mmapped_ipr.cc b/src/arch/generic/mmapped_ipr.cc
index c908eff..b401ea8 100644
--- a/src/arch/generic/mmapped_ipr.cc
+++ b/src/arch/generic/mmapped_ipr.cc
@@ -45,6 +45,7 @@
     uint64_t ret;

     assert((offset >> 16) == 0);
+    // TODO :: Look here
     ret = PseudoInst::pseudoInst(xc, func, subfunc);
     if (pkt->isRead())
         pkt->set(ret);
diff --git a/src/sim/pseudo_inst.cc b/src/sim/pseudo_inst.cc
index dc37a8c..89b502f 100644
--- a/src/sim/pseudo_inst.cc
+++ b/src/sim/pseudo_inst.cc
@@ -524,6 +524,7 @@
         len -= bytes;
     }

+    DPRINTF(PseudoInst, "PseudoInst::readfile Result:%lu\n",result);
     close(fd);
     CopyIn(tc, vaddr, buf, result);
     delete [] buf;
diff --git a/util/m5/m5.c b/util/m5/m5.c
index 38da9dc..db9fd5d 100644
--- a/util/m5/m5.c
+++ b/util/m5/m5.c
@@ -117,7 +117,11 @@
     // Linux does demand paging.
     memset(buf, 0, sizeof(buf));

-    while ((len = m5_read_file(buf, sizeof(buf), offset)) > 0) {
+    // TODO fix this so that len seen is correct
+    int repeat = 1;
+ while ((len = m5_read_file(buf, sizeof(buf), offset)) > 0 && repeat--) {
+        fprintf(stderr, "Read length:%d bufsize:%lu\n", len, sizeof(buf));
+        int len_read = len;
         uint8_t *base = buf;
         offset += len;
         do {
@@ -134,6 +138,11 @@
             base += ret;
             len -= ret;
         } while (len);
+        // TODO this is still wrong: Currently only goes through once
+        // as Read length is 20480 while bufsize is 262144
+/*        if (len_read < sizeof(buf))
+            break;
+*/
     }

     return offset;
@@ -298,7 +307,7 @@
         usage();

     uint64_t param = m5_init_param(0, 0);
-
+    fprintf(stderr, "sw99:%lu\n", param);
     // run-time, rampup-time, rampdown-time, warmup-time, connections
     printf("%"PRId64" %"PRId64" %"PRId64" %"PRId64" %"PRId64,
            (param >> 48) & 0xfff,

--
To view, visit https://gem5-review.googlesource.com/5583
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I39f057a2211b2a04688f2d0bf0c6d1fbf67b4cc4
Gerrit-Change-Number: 5583
Gerrit-PatchSet: 1
Gerrit-Owner: Swapnil Haria <[email protected]>
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to