From: <mic...@us...> - 2007-04-11 21:29:52
|
Revision: 26 http://svn.sourceforge.net/pearcolator/?rev=26&view=rev Author: michael_baer Date: 2007-04-11 14:29:52 -0700 (Wed, 11 Apr 2007) Log Message: ----------- Moved memory access functions from GDBTarget to the Memory class Modified Paths: -------------- src/org/binarytranslator/generic/gdbstub/GDBStub.java src/org/binarytranslator/generic/gdbstub/GDBTarget.java src/org/binarytranslator/generic/os/process/ProcessSpace.java Modified: src/org/binarytranslator/generic/gdbstub/GDBStub.java =================================================================== --- src/org/binarytranslator/generic/gdbstub/GDBStub.java 2007-04-11 21:25:11 UTC (rev 25) +++ src/org/binarytranslator/generic/gdbstub/GDBStub.java 2007-04-11 21:29:52 UTC (rev 26) @@ -15,6 +15,7 @@ import java.net.Socket; import org.binarytranslator.generic.fault.BadInstructionException; +import org.binarytranslator.generic.os.process.ProcessSpace; /** * Interface to GDB @@ -45,6 +46,11 @@ * The process being debugged */ private final GDBTarget target; + + /** + * The currently processed Process Space + */ + private final ProcessSpace ps; /** * Thread to continue or step, a value of -1 means all threads, 0 means any @@ -117,7 +123,7 @@ /** * Constructor */ - public GDBStub(int port, GDBTarget target) { + public GDBStub(int port, ProcessSpace process) { try { ServerSocket connectionSocket = new ServerSocket(port); socket = connectionSocket.accept(); @@ -129,7 +135,8 @@ throw new Error("Error opening socket", e); } breakpoints = new int[0]; - this.target = target; + this.ps = process; + this.target = process.getGDBTarget(); } /** @@ -464,7 +471,7 @@ try { byte value[] = new byte[count * 2]; for (int i = 0; i < count; i++) { - byte byteVal = target.memoryLoad8(address + i); + byte byteVal = (byte)ps.memory.loadUnsigned8(address + i); value[i * 2] = intToHex(byteVal >> 4); value[(i * 2) + 1] = intToHex(byteVal); } @@ -489,7 +496,7 @@ for (int i = 0; i < count; i++) { byte byteVal = (byte) ((hexToInt(buffer[start + (i * 2)]) << 4) | (hexToInt(buffer[start + (i * 2) + 1]))); - target.memoryStore8(address + i, byteVal); + ps.memory.store8(address + i, byteVal); } replyOK(); } catch (NullPointerException e) { Modified: src/org/binarytranslator/generic/gdbstub/GDBTarget.java =================================================================== --- src/org/binarytranslator/generic/gdbstub/GDBTarget.java 2007-04-11 21:25:11 UTC (rev 25) +++ src/org/binarytranslator/generic/gdbstub/GDBTarget.java 2007-04-11 21:29:52 UTC (rev 26) @@ -40,14 +40,4 @@ * Return the address of the current instruction. */ int getCurrentInstructionAddress(); - - /** - * Store the given bye of data at the given address within the process. - */ - void memoryStore8(int address, byte data); - - /** - * Load a byte from the given address within the process. - */ - byte memoryLoad8(int address); } Modified: src/org/binarytranslator/generic/os/process/ProcessSpace.java =================================================================== --- src/org/binarytranslator/generic/os/process/ProcessSpace.java 2007-04-11 21:25:11 UTC (rev 25) +++ src/org/binarytranslator/generic/os/process/ProcessSpace.java 2007-04-11 21:29:52 UTC (rev 26) @@ -66,20 +66,6 @@ */ public Memory memory; - /** - * Load a 8bit value from memory - */ - public byte memoryLoad8(int address) { - return (byte) memory.loadSigned8(address); - } - - /** - * Store a 8bit value to memory - */ - public void memoryStore8(int address, byte data) { - memory.store8(address, data); - } - /* * Utility functions */ @@ -334,7 +320,7 @@ System.out.println(e.toString()); } } else { - GDBStub gdbStub = new GDBStub(DBT_Options.gdbStubPort, getGDBTarget()); + GDBStub gdbStub = new GDBStub(DBT_Options.gdbStubPort, this); gdbStub.run(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |