projects
/
nestedvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
bca50e3
)
few more syscalls
author
brian
<brian@brianweb.net>
Wed, 4 Aug 2004 09:28:14 +0000
(
02:28
-0700)
committer
brian
<brian@brianweb.net>
Wed, 4 Aug 2004 09:28:14 +0000
(
02:28
-0700)
darcs-hash:
20040804092814
-24bed-
16412bd4aa077942f5c5e1aa4a3ee9ef409b34b9
.gz
src/org/ibex/nestedvm/UnixRuntime.java
patch
|
blob
|
history
diff --git
a/src/org/ibex/nestedvm/UnixRuntime.java
b/src/org/ibex/nestedvm/UnixRuntime.java
index
ac1b595
..
0ce093b
100644
(file)
--- 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_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);
}
}
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_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
// FEATURE: Signal handling
// check flag only on backwards jumps to basic blocks without compulsatory checks