diff options
author | Karel Kočí <cynerd@email.cz> | 2018-03-06 21:57:07 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2018-03-06 21:57:07 +0100 |
commit | a56b25212865c57251719a1d4a5d9d6a79b339c5 (patch) | |
tree | 5e5412c14a407b19a7e3a245cc39cb4fc80b6ec4 /qtmips_gui/newdialog.h | |
parent | c75024c81ba92efbcc70e80520599a27b4aff0d8 (diff) | |
download | qtmips-a56b25212865c57251719a1d4a5d9d6a79b339c5.tar.gz qtmips-a56b25212865c57251719a1d4a5d9d6a79b339c5.tar.bz2 qtmips-a56b25212865c57251719a1d4a5d9d6a79b339c5.zip |
Implement Cache configuration
This commit implements both cache configuration for machine and for gui.
Diffstat (limited to 'qtmips_gui/newdialog.h')
-rw-r--r-- | qtmips_gui/newdialog.h | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/qtmips_gui/newdialog.h b/qtmips_gui/newdialog.h index 5b50a41..79616a2 100644 --- a/qtmips_gui/newdialog.h +++ b/qtmips_gui/newdialog.h @@ -9,12 +9,16 @@ #include "ui_NewDialogCache.h" #include "machineconfig.h" +class NewDialogCacheHandler; + class NewDialog : public QDialog { Q_OBJECT public: NewDialog(QWidget *parent, QSettings *settings); ~NewDialog(); + void switch2custom(); + protected: void closeEvent(QCloseEvent *); @@ -29,9 +33,6 @@ private slots: void mem_protec_exec_change(bool); void mem_protec_write_change(bool); - void cache_data_change(bool); - void cache_program_change(bool); - private: Ui::NewDialog *ui; Ui::NewDialogCache *ui_cache_p, *ui_cache_d; @@ -40,8 +41,33 @@ private: machine::MachineConfig *config; void config_gui(); // Apply configuration to gui + unsigned preset_number(); void load_settings(); void store_settings(); + NewDialogCacheHandler *cache_handler_p, *cache_handler_d; +}; + +class NewDialogCacheHandler : QObject { + Q_OBJECT +public: + NewDialogCacheHandler(NewDialog *nd, Ui::NewDialogCache *ui); + + void set_config(machine::MachineConfigCache *config); + + void config_gui(); + +private slots: + void enabled(bool); + void numsets(); + void blocksize(); + void degreeassociativity(); + void replacement(int); + void writeback(int); + +private: + NewDialog *nd; + Ui::NewDialogCache *ui; + machine::MachineConfigCache *config; }; #endif // NEWDIALOG_H |