-- cgit v1.2.3 From 9ebeb9b2de34673fffce06baf1420f85993ba806 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Wed, 23 Feb 2005 11:45:25 -0500 Subject: Added mmap start and end so detailed CPU can know if an access is in a mmaped region --HG-- extra : convert_revision : e4ee0520c84d94a0d2e804d02035228766abe71f --- sim/process.cc | 2 +- sim/process.hh | 6 ++++-- sim/syscall_emul.hh | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/sim/process.cc b/sim/process.cc index c725d3b1c..f09452c42 100644 --- a/sim/process.cc +++ b/sim/process.cc @@ -282,7 +282,7 @@ LiveProcess::LiveProcess(const string &name, ObjectFile *objFile, // Set up region for mmaps. Tru64 seems to start just above 0 and // grow up from there. - mmap_base = 0x10000; + mmap_start = mmap_end = 0x10000; // Set pointer for next thread stack. Reserve 8M for main stack. next_thread_stack_base = stack_base - (8 * 1024 * 1024); diff --git a/sim/process.hh b/sim/process.hh index bb4829875..6c7bc4222 100644 --- a/sim/process.hh +++ b/sim/process.hh @@ -93,7 +93,8 @@ class Process : public SimObject Addr next_thread_stack_base; // Base of region for mmaps (when user doesn't specify an address). - Addr mmap_base; + Addr mmap_start; + Addr mmap_end; std::string prog_fname; // file name Addr prog_entry; // entry point (initial PC) @@ -156,7 +157,8 @@ class Process : public SimObject { return ((data_base <= addr && addr < brk_point) || ((stack_base - 16*1024*1024) <= addr && addr < stack_base) || - (text_base <= addr && addr < (text_base + text_size))); + (text_base <= addr && addr < (text_base + text_size)) || + (mmap_start <= addr && addr < mmap_end)); } virtual void syscall(ExecContext *xc) = 0; diff --git a/sim/syscall_emul.hh b/sim/syscall_emul.hh index 768bc3700..831708a21 100644 --- a/sim/syscall_emul.hh +++ b/sim/syscall_emul.hh @@ -410,8 +410,8 @@ mmapFunc(SyscallDesc *desc, int num, Process *p, ExecContext *xc) if (start == 0) { // user didn't give an address... pick one from our "mmap region" - start = p->mmap_base; - p->mmap_base += RoundUp(length, VMPageSize); + start = p->mmap_end; + p->mmap_end += RoundUp(length, VMPageSize); } if (!(flags & OS::TGT_MAP_ANONYMOUS)) { -- cgit v1.2.3 From a84159174afbdf855e370674a4a85ff1ee042095 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Wed, 23 Feb 2005 11:46:28 -0500 Subject: added two validation rcs files --HG-- extra : convert_revision : 19e57e5192be3435d72652e3b36aac3b6e43d81c --- configs/boot/micro_memlat.rcS | 3 +++ configs/boot/micro_syscall.rcS | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 configs/boot/micro_memlat.rcS create mode 100644 configs/boot/micro_syscall.rcS diff --git a/configs/boot/micro_memlat.rcS b/configs/boot/micro_memlat.rcS new file mode 100644 index 000000000..50ee8efb3 --- /dev/null +++ b/configs/boot/micro_memlat.rcS @@ -0,0 +1,3 @@ +/benchmarks/micros/lmbench/bin/alphaev6-linux-gnu/lat_mem_rd 512 64 +m5 exit + diff --git a/configs/boot/micro_syscall.rcS b/configs/boot/micro_syscall.rcS new file mode 100644 index 000000000..0e8e209c1 --- /dev/null +++ b/configs/boot/micro_syscall.rcS @@ -0,0 +1,3 @@ +/benchmarks/micros/lmbench/bin/alphaev6-linux-gnu/lat_syscall null +m5 exit + -- cgit v1.2.3 -- cgit v1.2.3 From fbe2d264878d399f0f37952c26420c83b0b2412d Mon Sep 17 00:00:00 2001 From: Nathan Binkert Date: Fri, 25 Feb 2005 14:38:00 -0500 Subject: Make the SimConsole device dump its output to a file by default --HG-- extra : convert_revision : 59cc7c3234d1bc96919d08dc0ec7584d8aff1d6f --- objects/SimConsole.mpy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/objects/SimConsole.mpy b/objects/SimConsole.mpy index ab88db8c6..fb74f1775 100644 --- a/objects/SimConsole.mpy +++ b/objects/SimConsole.mpy @@ -8,4 +8,4 @@ simobj SimConsole(SimObject): intr_control = Param.IntrControl(Super, "interrupt controller") listener = Param.ConsoleListener("console listener") number = Param.Int(0, "console number") - output = Param.String('', "file to dump output to") + output = Param.String('console', "file to dump output to") -- cgit v1.2.3