diff options
author | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-02-15 21:47:21 +0100 |
---|---|---|
committer | Pavel Pisa <pisa@cmp.felk.cvut.cz> | 2019-02-15 21:47:21 +0100 |
commit | 1b4ef2f6ce2104f0c54c124eab58c4b5f6af4327 (patch) | |
tree | a8b39f28e7cc457cb66cfe193d059fa889971c01 /qtmips_osemu/ossyscall.h | |
parent | 10fa419862f57ab46290e34779404845bdcefee8 (diff) | |
download | qtmips-1b4ef2f6ce2104f0c54c124eab58c4b5f6af4327.tar.gz qtmips-1b4ef2f6ce2104f0c54c124eab58c4b5f6af4327.tar.bz2 qtmips-1b4ef2f6ce2104f0c54c124eab58c4b5f6af4327.zip |
System calls stubs for brk and mmap2.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Diffstat (limited to 'qtmips_osemu/ossyscall.h')
-rw-r--r-- | qtmips_osemu/ossyscall.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/qtmips_osemu/ossyscall.h b/qtmips_osemu/ossyscall.h index b42fe21..00b6575 100644 --- a/qtmips_osemu/ossyscall.h +++ b/qtmips_osemu/ossyscall.h @@ -57,6 +57,7 @@ int name(std::uint32_t &result, machine::Core *core, \ class OsSyscallExceptionHandler : public machine::ExceptionHandler { Q_OBJECT public: + OsSyscallExceptionHandler(); bool handle_exception(machine::Core *core, machine::Registers *regs, machine::ExceptionCause excause, std::uint32_t inst_addr, std::uint32_t next_addr, std::uint32_t jump_branch_pc, @@ -65,8 +66,14 @@ public: OSSYCALL_HANDLER_DECLARE(do_sys_set_thread_area); OSSYCALL_HANDLER_DECLARE(do_sys_writev); OSSYCALL_HANDLER_DECLARE(do_sys_write); + OSSYCALL_HANDLER_DECLARE(do_sys_brk); + OSSYCALL_HANDLER_DECLARE(do_sys_mmap2); signals: void char_written(int fd, unsigned int val); +private: + std::uint32_t brk_limit; + std::uint32_t anonymous_base; + std::uint32_t anonymous_last; }; #undef OSSYCALL_HANDLER_DECLARE |