process.hh (6701:4842482e1bd1) process.hh (7096:e81026b9dfe0)
1/*
2 * Copyright (c) 2007-2008 The Florida State University
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 19 unchanged lines hidden (view full) ---

28 * Authors: Stephen Hines
29 */
30
31#ifndef __ARM_PROCESS_HH__
32#define __ARM_PROCESS_HH__
33
34#include <string>
35#include <vector>
1/*
2 * Copyright (c) 2007-2008 The Florida State University
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 19 unchanged lines hidden (view full) ---

28 * Authors: Stephen Hines
29 */
30
31#ifndef __ARM_PROCESS_HH__
32#define __ARM_PROCESS_HH__
33
34#include <string>
35#include <vector>
36#include "base/loader/object_file.hh"
36#include "sim/process.hh"
37
38class LiveProcess;
39class ObjectFile;
40class System;
41
42class ArmLiveProcess : public LiveProcess
43{
44 protected:
37#include "sim/process.hh"
38
39class LiveProcess;
40class ObjectFile;
41class System;
42
43class ArmLiveProcess : public LiveProcess
44{
45 protected:
45 ArmLiveProcess(LiveProcessParams * params, ObjectFile *objFile);
46 ObjectFile::Arch arch;
47 ArmLiveProcess(LiveProcessParams * params, ObjectFile *objFile,
48 ObjectFile::Arch _arch);
46
47 void startup();
48
49 void copyStringArray32(std::vector<std::string> &strings,
50 Addr array_ptr, Addr data_ptr,
51 TranslatingPort* memPort);
52
53 public:
54 void argsInit(int intSize, int pageSize);
55
56 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i);
57 void setSyscallArg(ThreadContext *tc, int i, ArmISA::IntReg val);
58 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
59};
60
61#endif // __ARM_PROCESS_HH__
62
49
50 void startup();
51
52 void copyStringArray32(std::vector<std::string> &strings,
53 Addr array_ptr, Addr data_ptr,
54 TranslatingPort* memPort);
55
56 public:
57 void argsInit(int intSize, int pageSize);
58
59 ArmISA::IntReg getSyscallArg(ThreadContext *tc, int &i);
60 void setSyscallArg(ThreadContext *tc, int i, ArmISA::IntReg val);
61 void setSyscallReturn(ThreadContext *tc, SyscallReturn return_value);
62};
63
64#endif // __ARM_PROCESS_HH__
65