replay: exception replay fix
This patch fixes replaying the exception when TB cache is full. It breaks cpu loop execution through setting exception_index to process such queued work as TB flush. v8: moved setting of exeption_index to tb_gen_code Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> Message-Id: <20170126123418.5412.33815.stgit@PASHA-ISP> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
9c2037d0a4
commit
8499c8fca1
@ -1290,6 +1290,8 @@ TranslationBlock *tb_gen_code(CPUState *cpu,
|
|||||||
/* flush must be done */
|
/* flush must be done */
|
||||||
tb_flush(cpu);
|
tb_flush(cpu);
|
||||||
mmap_unlock();
|
mmap_unlock();
|
||||||
|
/* Make the execution loop process the flush as soon as possible. */
|
||||||
|
cpu->exception_index = EXCP_INTERRUPT;
|
||||||
cpu_loop_exit(cpu);
|
cpu_loop_exit(cpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user