qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] what is the behavier precisely if a tb was interrupted


From: tugouxp
Subject: Re: [Qemu-devel] what is the behavier precisely if a tb was interrupted by a interrupt or signal?
Date: Tue, 25 Dec 2018 12:06:41 +0800 (CST)

thank you.


if so ,the interrupt  granularity cant be instructions precisely, but tb 
precisely,  for qemu cant check the interrupt at each instructions execution 
stage, right?







At 2018-12-24 21:49:07, "Peter Maydell" <address@hidden> wrote:
>On Mon, 24 Dec 2018 at 10:11, tugouxp <address@hidden> wrote:
>>  think about the scenario like that, a tb block contain  9 native 
>> instructions  execute sequentially
>>
>>  if a interrupt or a signal happens  before instruction 6 executed,  did the 
>> tb  be finished before response to the interrupt  or
>>
>> the  exited at once to response the interrupt?
>
>We don't check in the middle of a TB for conditions like
>interrupts. The only thing that can cause a TB to stop
>execution halfway through is if it does something that
>provokes a synchronous exception (for instance, if it
>does a guest memory access that triggers a guest CPU
>page fault, or if it emulates a guest instruction that
>is required to trap). Those we emulate by longjumping out
>from the generated code to the top level loop.
>Asynchronous events like emulated interrupts we only
>check at the beginning of the TB: we emit code which
>tests a flag and returns early.
>
>thanks
>-- PMM

reply via email to

[Prev in Thread] Current Thread [Next in Thread]