sim: Add a returnInto function to the SyscallDesc class.
[gem5.git] / src / sim / arguments.hh
index 1658800951347f85f33841c8872ab199de737ee2..da7a8edcee995d9ee9cf6e961e1b43d78d93e6bd 100644 (file)
@@ -24,8 +24,6 @@
  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Nathan Binkert
  */
 
 #ifndef __SIM_ARGUMENTS_HH__
 #include <cassert>
 #include <memory>
 
-#include "base/types.hh"
+#include "cpu/thread_context.hh"
 #include "mem/fs_translating_port_proxy.hh"
 
-class ThreadContext;
-
 class Arguments
 {
   protected:
@@ -138,13 +134,13 @@ class Arguments
     template <class T>
     operator T *() {
         T *buf = (T *)data->alloc(sizeof(T));
-        CopyOut(tc, buf, getArg(sizeof(T)), sizeof(T));
+        tc->getVirtProxy().readBlob(getArg(sizeof(T)), buf, sizeof(T));
         return buf;
     }
 
     operator char *() {
         char *buf = data->alloc(2048);
-        CopyStringOut(tc, buf, getArg(), 2048);
+        tc->getVirtProxy().readString(buf, getArg(), 2048);
         return buf;
     }
 };