X-Git-Url: http://git.megacz.com/?p=nestedvm.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fnestedvm%2FUnixRuntime.java;h=bee9c24499209d5db26dffff0d1d3463250e4861;hp=b4f651d2facc369cb5d807e9310c81826eaf8f3e;hb=3142b3bb94901c5826881bf7c79fbaf91709dcf5;hpb=8eb5962b879977e1a7975f9077c9ac86859deb48 diff --git a/src/org/ibex/nestedvm/UnixRuntime.java b/src/org/ibex/nestedvm/UnixRuntime.java index b4f651d..bee9c24 100644 --- a/src/org/ibex/nestedvm/UnixRuntime.java +++ b/src/org/ibex/nestedvm/UnixRuntime.java @@ -1,6 +1,8 @@ package org.ibex.nestedvm; import org.ibex.nestedvm.util.*; +// FEATURE: This is ugly, this stuff needs to be in org.ibex.util or something +import org.ibex.classgen.util.Sort; import java.io.*; import java.util.*; import java.net.*; @@ -533,7 +535,7 @@ public abstract class UnixRuntime extends Runtime implements Cloneable { return n; } - // FIXME: UDP is totally broken + // FEATURE: UDP is totally broken static class SocketFD extends FD { public static final int TYPE_STREAM = 0; @@ -913,54 +915,6 @@ public abstract class UnixRuntime extends Runtime implements Cloneable { } return 0; } - - - /*public int sys_opensocket(int cstring, int port) throws FaultException, ErrnoException { - String hostname = cstring(cstring); - try { - FD fd = new SocketFD(new Socket(hostname,port)); - int n = addFD(fd); - if(n == -1) fd.close(); - return n; - } catch(IOException e) { - return -EIO; - } - } - - private static class ListenSocketFD extends FD { - ServerSocket s; - public ListenSocketFD(ServerSocket s) { this.s = s; } - public int flags() { return 0; } - // FEATURE: What should these be? - public FStat _fstat() { return new FStat(); } - public void _close() { try { s.close(); } catch(IOException e) { } } - } - - public int sys_listensocket(int port) { - try { - ListenSocketFD fd = new ListenSocketFD(new ServerSocket(port)); - int n = addFD(fd); - if(n == -1) fd.close(); - return n; - } catch(IOException e) { - return -EIO; - } - } - - public int sys_accept(int fdn) { - if(fdn < 0 || fdn >= OPEN_MAX) return -EBADFD; - if(fds[fdn] == null) return -EBADFD; - if(!(fds[fdn] instanceof ListenSocketFD)) return -EBADFD; - try { - ServerSocket s = ((ListenSocketFD)fds[fdn]).s; - SocketFD fd = new SocketFD(s.accept()); - int n = addFD(fd); - if(n == -1) fd.close(); - return n; - } catch(IOException e) { - return -EIO; - } - }*/ // FEATURE: Run through the fork/wait stuff one more time public static class GlobalState { @@ -1094,7 +1048,7 @@ public abstract class UnixRuntime extends Runtime implements Cloneable { } public synchronized Object exec(UnixRuntime r, String path) throws ErrnoException { - // FIXME: Hideous hack to make a standalone busybox possible + // HACK: Hideous hack to make a standalone busybox possible if(path.equals("bin/busybox") && Boolean.valueOf(getSystemProperty("nestedvm.busyboxhack")).booleanValue()) return r.getClass(); FStat fstat = stat(r,path); @@ -1166,7 +1120,7 @@ public abstract class UnixRuntime extends Runtime implements Cloneable { // its an elf binary try { s.seek(0); - Class c = RuntimeCompiler.compile(s); + Class c = RuntimeCompiler.compile(s,"unixruntime"); //System.err.println("Compile succeeded: " + c); ent = new CacheEnt(mtime,size,c); } catch(Compiler.Exn e) {