diff options
author | Lisa Hsu <hsul@eecs.umich.edu> | 2009-02-16 17:47:39 -0500 |
---|---|---|
committer | Lisa Hsu <hsul@eecs.umich.edu> | 2009-02-16 17:47:39 -0500 |
commit | 5d029ff11e88ba0ab89c88e500c5d0d2edaf744e (patch) | |
tree | a8a7a44ac0d2fb3dedf3b33ec887c3f7dc9ebdd7 /src/arch/x86 | |
parent | 89ea32325094665c16688212b5a2cd7b7bbf5f03 (diff) | |
download | gem5-5d029ff11e88ba0ab89c88e500c5d0d2edaf744e.tar.xz |
sycalls: implement mremap() and add DATA flag for getrlimit(). mremap has been tested on Alpha, compiles for the rest but not tested. I don't see why it wouldn't work though.
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/linux/syscalls.cc | 2 | ||||
-rw-r--r-- | src/arch/x86/pagetable.hh | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/arch/x86/linux/syscalls.cc b/src/arch/x86/linux/syscalls.cc index 754fb2eaf..ca35a5dd6 100644 --- a/src/arch/x86/linux/syscalls.cc +++ b/src/arch/x86/linux/syscalls.cc @@ -148,7 +148,7 @@ SyscallDesc X86LinuxProcess::syscallDescs[] = { /* 22 */ SyscallDesc("pipe", unimplementedFunc), /* 23 */ SyscallDesc("select", unimplementedFunc), /* 24 */ SyscallDesc("sched_yield", unimplementedFunc), - /* 25 */ SyscallDesc("mremap", unimplementedFunc), + /* 25 */ SyscallDesc("mremap", mremapFunc<X86Linux64>), /* 26 */ SyscallDesc("msync", unimplementedFunc), /* 27 */ SyscallDesc("mincore", unimplementedFunc), /* 28 */ SyscallDesc("madvise", unimplementedFunc), diff --git a/src/arch/x86/pagetable.hh b/src/arch/x86/pagetable.hh index e42693c03..1a7a945e4 100644 --- a/src/arch/x86/pagetable.hh +++ b/src/arch/x86/pagetable.hh @@ -113,6 +113,12 @@ namespace X86ISA TlbEntry(Addr asn, Addr _vaddr, Addr _paddr); TlbEntry() {} + void + updateVaddr(Addr new_vaddr) + { + vaddr = new_vaddr; + } + Addr pageStart() { return paddr; |