From beabe49c6d19528ab3d27081c7af4fd9fb74027b Mon Sep 17 00:00:00 2001 From: brian Date: Wed, 4 Aug 2004 02:28:14 -0700 Subject: [PATCH] few more syscalls darcs-hash:20040804092814-24bed-16412bd4aa077942f5c5e1aa4a3ee9ef409b34b9.gz --- src/org/ibex/nestedvm/UnixRuntime.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/org/ibex/nestedvm/UnixRuntime.java b/src/org/ibex/nestedvm/UnixRuntime.java index ac1b595..0ce093b 100644 --- a/src/org/ibex/nestedvm/UnixRuntime.java +++ b/src/org/ibex/nestedvm/UnixRuntime.java @@ -167,7 +167,9 @@ public abstract class UnixRuntime extends Runtime implements Cloneable { case SYS_sendto: return sys_sendto(a,b,c,d,e,f); case SYS_recvfrom: return sys_recvfrom(a,b,c,d,e,f); case SYS_select: return sys_select(a,b,c,d,e); - + case SYS_access: return sys_access(a,b); + case SYS_realpath: return sys_realpath(a,b); + default: return super._syscall(syscall,a,b,c,d,e,f); } } @@ -179,6 +181,20 @@ public abstract class UnixRuntime extends Runtime implements Cloneable { private int sys_getppid() { return parent == null ? 1 : parent.pid; } + + + private int sys_access(int cstring, int mode) { + // FEATURE: sys_access + return 0; + } + + private int sys_realpath(int inAddr, int outAddr) throws FaultException { + String s = normalizePath(cstring(inAddr)); + byte[] b = getNullTerminatedBytes(s); + if(b.length > PATH_MAX) return -ERANGE; + copyout(b,outAddr,b.length); + return 0; + } // FEATURE: Signal handling // check flag only on backwards jumps to basic blocks without compulsatory checks -- 1.7.10.4