Timeout error (#1173)

* Implement timeout state and new error for such case

* Adjust test_i386_loop sample

* Adjust test_i386_loop test
This commit is contained in:
ζeh Matt
2019-12-28 17:16:54 +01:00
committed by Nguyen Anh Quynh
parent 95890d593f
commit 3a3bc0c22d
5 changed files with 13 additions and 4 deletions

View File

@ -227,6 +227,7 @@ struct uc_struct {
bool stop_request; // request to immediately stop emulation - for uc_emu_stop()
bool quit_request; // request to quit the current TB, but continue to emulate - for uc_mem_protect()
bool emulation_done; // emulation is done by uc_emu_start()
bool timed_out; // emulation timed out, uc_emu_start() will result in EC_ERR_TIMEOUT
QemuThread timer; // timer for emulation timeout
uint64_t timeout; // timeout for uc_emu_start()

View File

@ -163,7 +163,8 @@ typedef enum uc_err {
UC_ERR_FETCH_UNALIGNED, // Unaligned fetch
UC_ERR_HOOK_EXIST, // hook for this event already existed
UC_ERR_RESOURCE, // Insufficient resource: uc_emu_start()
UC_ERR_EXCEPTION // Unhandled CPU exception
UC_ERR_EXCEPTION, // Unhandled CPU exception
UC_ERR_TIMEOUT // Emulation timed out
} uc_err;