diff options
| author | Karel Kočí <cynerd@email.cz> | 2018-01-05 16:29:58 +0100 | 
|---|---|---|
| committer | Karel Kočí <cynerd@email.cz> | 2018-01-05 16:30:23 +0100 | 
| commit | 799dcddc2420ce1450ac2bdd0d69bccf4a2f2e1f (patch) | |
| tree | dd7591e0c6e5eaaf3e59fc047b6295310c72ee92 /qtmips_machine | |
| parent | fac2c49643ee5122fbeffaeaebbac48e69381bf3 (diff) | |
| download | qtmips-799dcddc2420ce1450ac2bdd0d69bccf4a2f2e1f.tar.gz qtmips-799dcddc2420ce1450ac2bdd0d69bccf4a2f2e1f.tar.bz2 qtmips-799dcddc2420ce1450ac2bdd0d69bccf4a2f2e1f.zip  | |
Copy machineconfig in QtMipsMachine
Diffstat (limited to 'qtmips_machine')
| -rw-r--r-- | qtmips_machine/machineconfig.cpp | 2 | ||||
| -rw-r--r-- | qtmips_machine/machineconfig.h | 2 | ||||
| -rw-r--r-- | qtmips_machine/qtmipsmachine.cpp | 7 | ||||
| -rw-r--r-- | qtmips_machine/qtmipsmachine.h | 7 | 
4 files changed, 10 insertions, 8 deletions
diff --git a/qtmips_machine/machineconfig.cpp b/qtmips_machine/machineconfig.cpp index 0947e22..cf8629c 100644 --- a/qtmips_machine/machineconfig.cpp +++ b/qtmips_machine/machineconfig.cpp @@ -9,7 +9,7 @@ MachineConfig::MachineConfig() {      elf_path = QString("");  } -MachineConfig::MachineConfig(MachineConfig *cc) { +MachineConfig::MachineConfig(const MachineConfig *cc) {      pipeline = cc->pipelined();      delayslot = cc->delay_slot();      cache_type = cc->cache(); diff --git a/qtmips_machine/machineconfig.h b/qtmips_machine/machineconfig.h index d872686..c55228a 100644 --- a/qtmips_machine/machineconfig.h +++ b/qtmips_machine/machineconfig.h @@ -8,7 +8,7 @@ namespace machine {  class MachineConfig {  public:      MachineConfig(); -    MachineConfig(MachineConfig *cc); +    MachineConfig(const MachineConfig *cc);      enum CacheType {          CCT_NONE, diff --git a/qtmips_machine/qtmipsmachine.cpp b/qtmips_machine/qtmipsmachine.cpp index a652363..744c5e2 100644 --- a/qtmips_machine/qtmipsmachine.cpp +++ b/qtmips_machine/qtmipsmachine.cpp @@ -3,7 +3,7 @@  using namespace machine; -QtMipsMachine::QtMipsMachine(const MachineConfig &cc) { +QtMipsMachine::QtMipsMachine(const MachineConfig &cc) : QObject(), mcnf(&cc) {      stat = ST_READY;      ProgramLoader program(cc.elf()); @@ -29,7 +29,6 @@ QtMipsMachine::QtMipsMachine(const MachineConfig &cc) {          throw QTMIPS_EXCEPTION(Sanity, "Trying to configure unknown cache type", "");      } -    cr_pipelined = cc.pipelined();      if (cc.pipelined())          cr = new CorePipelined(regs, coremem);      else @@ -40,6 +39,10 @@ QtMipsMachine::QtMipsMachine(const MachineConfig &cc) {      connect(run_t, SIGNAL(timeout()), this, SLOT(step()));  } +const MachineConfig &QtMipsMachine::config() { +    return mcnf; +} +  void QtMipsMachine::set_speed(unsigned val) {      run_t->setInterval(val);  } diff --git a/qtmips_machine/qtmipsmachine.h b/qtmips_machine/qtmipsmachine.h index d2e60de..d130225 100644 --- a/qtmips_machine/qtmipsmachine.h +++ b/qtmips_machine/qtmipsmachine.h @@ -18,6 +18,7 @@ class QtMipsMachine : public QObject {  public:      QtMipsMachine(const MachineConfig &cc); +    const MachineConfig &config();      void set_speed(unsigned);      const Registers *registers(); @@ -49,19 +50,17 @@ signals:      void tick(); // Time tick  private: +    MachineConfig mcnf; +      Registers *regs;      Memory *mem, *mem_program_only;      Cache *cch;      Core *cr; -    bool cr_pipelined; - -    unsigned run_speed;      QTimer *run_t;      std::uint32_t program_end;      enum Status stat; -      void set_status(enum Status st);  };  | 
