summaryrefslogtreecommitdiff
path: root/util/m5
diff options
context:
space:
mode:
Diffstat (limited to 'util/m5')
-rw-r--r--util/m5/m5.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/util/m5/m5.c b/util/m5/m5.c
index 7747fc0bc..96150f2bb 100644
--- a/util/m5/m5.c
+++ b/util/m5/m5.c
@@ -65,6 +65,11 @@ read_file(int dest_fid)
int offset = 0;
int len;
+ // Touch all buffer pages to ensure they are mapped in the
+ // page table. This is required in the case of X86_FS, where
+ // Linux does demand paging.
+ memset(buf, 0, sizeof(buf));
+
while ((len = m5_readfile(buf, sizeof(buf), offset)) > 0) {
write(dest_fid, buf, len);
offset += len;