From f0ad502e4651243d6a96194b3393bd460c0f7fc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sun, 19 Nov 2017 21:23:04 +0100 Subject: Another huge pile of work for about two months Well I should commit every change instead of this madness. I am not documenting changes as all this is just improvements and implementation progression. --- qtmips_machine/machineconfig.h | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'qtmips_machine/machineconfig.h') diff --git a/qtmips_machine/machineconfig.h b/qtmips_machine/machineconfig.h index 58c2fc2..352e62b 100644 --- a/qtmips_machine/machineconfig.h +++ b/qtmips_machine/machineconfig.h @@ -1,11 +1,40 @@ #ifndef MACHINECONFIG_H #define MACHINECONFIG_H +#include -class MachineConfig -{ +class MachineConfig { public: MachineConfig(); + MachineConfig(MachineConfig *cc); + + enum CacheType { + CCT_NONE, + CCT_ASSOCIATIVE, + // TODO + }; + + // Configure if CPU is pipelined + // In default disabled. + void set_pipelined(bool); + // Configure if we want to do jump prediction + // In default disabled. When enabled it also automatically enables pipelining + void set_jump_prediction(bool); + // Configure cache type + // In default CCT_NONE is used. + void set_cache(enum CacheType); + // Set path to source elf file. This has to be set before core is initialized. + void set_elf(QString path); + + bool pipelined() const; + bool jump_prediction() const; + enum CacheType cache() const; + QString elf() const; + +private: + bool pipeline, jumppred; + enum CacheType cache_type; + QString elf_path; }; -#endif // MACHINECONFIG_H \ No newline at end of file +#endif // MACHINECONFIG_H -- cgit v1.2.3