summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Dreslinski <rdreslin@umich.edu>2005-02-25 14:39:55 -0500
committerRon Dreslinski <rdreslin@umich.edu>2005-02-25 14:39:55 -0500
commitb5c788bf8a2eeec591490191a253575a2828b9cb (patch)
tree548f5900d251970e8553fb12d75c035ac08a4aac
parent986ff12da13266433679f3e90fe1d6df9d40d675 (diff)
parentfbe2d264878d399f0f37952c26420c83b0b2412d (diff)
downloadgem5-b5c788bf8a2eeec591490191a253575a2828b9cb.tar.xz
Merge zizzer:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1 --HG-- extra : convert_revision : e314c70da4a9f4e05c9a8afec1de85000618ea4d
-rw-r--r--configs/boot/micro_memlat.rcS3
-rw-r--r--configs/boot/micro_syscall.rcS3
-rw-r--r--objects/SimConsole.mpy2
-rw-r--r--sim/process.cc2
-rw-r--r--sim/process.hh6
-rw-r--r--sim/syscall_emul.hh4
6 files changed, 14 insertions, 6 deletions
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
+
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")
diff --git a/sim/process.cc b/sim/process.cc
index 4d860c51d..acc6762f8 100644
--- a/sim/process.cc
+++ b/sim/process.cc
@@ -287,7 +287,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 817ab656c..3bcc65da6 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)
@@ -158,7 +159,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<Addr>(length, VMPageSize);
+ start = p->mmap_end;
+ p->mmap_end += RoundUp<Addr>(length, VMPageSize);
}
if (!(flags & OS::TGT_MAP_ANONYMOUS)) {