aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/machineconfig.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtmips_machine/machineconfig.cpp')
-rw-r--r--qtmips_machine/machineconfig.cpp43
1 files changed, 41 insertions, 2 deletions
diff --git a/qtmips_machine/machineconfig.cpp b/qtmips_machine/machineconfig.cpp
index 8562ab9..f23140f 100644
--- a/qtmips_machine/machineconfig.cpp
+++ b/qtmips_machine/machineconfig.cpp
@@ -1,6 +1,45 @@
#include "machineconfig.h"
-MachineConfig::MachineConfig()
-{
+MachineConfig::MachineConfig() {
+ pipeline = false;
+ jumppred = false;
+}
+
+MachineConfig::MachineConfig(MachineConfig *cc) {
+ pipeline = cc->pipelined();
+ jumppred = cc->jump_prediction();
+}
+
+void MachineConfig::set_pipelined(bool v) {
+ pipeline = v;
+}
+
+void MachineConfig::set_jump_prediction(bool v) {
+ jumppred = v;
+ if (jumppred)
+ pipeline = true;
+}
+
+void MachineConfig::set_cache(enum CacheType cc) {
+ cache_type = cc;
+}
+
+void MachineConfig::set_elf(QString path) {
+ elf_path = path;
+}
+
+bool MachineConfig::pipelined() const {
+ return pipeline;
+}
+
+bool MachineConfig::jump_prediction() const {
+ return jumppred;
+}
+
+enum MachineConfig::CacheType MachineConfig::cache() const {
+ return cache_type;
+}
+QString MachineConfig::elf() const {
+ return elf_path;
}