diff options
author | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-03-06 23:40:34 +0100 |
---|---|---|
committer | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-03-06 23:40:34 +0100 |
commit | 8d0f4806a7ad55710cb190e5a5c9388bd00c50a8 (patch) | |
tree | 16d5ac856513f44c4b1ecbccdebee151772f64e2 /qtmips_machine/machineconfig.h | |
parent | 1536045c0d28113892abc9d1023ce395a0e82e94 (diff) | |
download | qtmips-8d0f4806a7ad55710cb190e5a5c9388bd00c50a8.tar.gz qtmips-8d0f4806a7ad55710cb190e5a5c9388bd00c50a8.tar.bz2 qtmips-8d0f4806a7ad55710cb190e5a5c9388bd00c50a8.zip |
Enable configuration of syscalls emulation and stop on exception.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_machine/machineconfig.h')
-rw-r--r-- | qtmips_machine/machineconfig.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/qtmips_machine/machineconfig.h b/qtmips_machine/machineconfig.h index 6f53d87..9fbbf18 100644 --- a/qtmips_machine/machineconfig.h +++ b/qtmips_machine/machineconfig.h @@ -127,6 +127,12 @@ public: void set_memory_access_time_read(unsigned); void set_memory_access_time_write(unsigned); void set_memory_access_time_burst(unsigned); + // Operating system and exceptions setup + void set_osemu_enable(bool); + void set_osemu_known_syscall_stop(bool); + void set_osemu_unknown_syscall_stop(bool); + void set_osemu_interrupt_stop(bool); + void set_osemu_exception_stop(bool); // Set path to source elf file. This has to be set before core is initialized. void set_elf(QString path); // Configure cache @@ -141,6 +147,11 @@ public: unsigned memory_access_time_read() const; unsigned memory_access_time_write() const; unsigned memory_access_time_burst() const; + bool osemu_enable() const; + bool osemu_known_syscall_stop() const; + bool osemu_unknown_syscall_stop() const; + bool osemu_interrupt_stop() const; + bool osemu_exception_stop() const; QString elf() const; const MachineConfigCache &cache_program() const; const MachineConfigCache &cache_data() const; @@ -156,6 +167,8 @@ private: enum HazardUnit hunit; bool exec_protect, write_protect; unsigned mem_acc_read, mem_acc_write, mem_acc_burst; + bool osem_enable, osem_known_syscall_stop, osem_unknown_syscall_stop; + bool osem_interrupt_stop, osem_exception_stop; QString elf_path; MachineConfigCache cch_program, cch_data; }; |