difference between stop_request and quit_request

quit_request is for internal use. This means the IP register was updated and
qemu needs to rebuild the translation blocks.

stop_request is set by the user (uc_emu_stop) to indecate that unicorn sould
stop emulating.
This commit is contained in:
Takacs, Philipp
2023-03-06 15:35:01 +01:00
parent ca7e0e7f42
commit b7b1a4d6b4
13 changed files with 70 additions and 23 deletions

13
uc.c
View File

@@ -907,19 +907,8 @@ UNICORN_EXPORT
uc_err uc_emu_stop(uc_engine *uc)
{
UC_INIT(uc);
if (uc->emulation_done) {
return UC_ERR_OK;
}
uc->stop_request = true;
// TODO: make this atomic somehow?
if (uc->cpu) {
// exit the current TB
cpu_exit(uc->cpu);
}
return UC_ERR_OK;
return break_translation_loop(uc);
}
// return target index where a memory region at the address exists, or could be