[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Cooperative BBL execution due to binary translation
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] Cooperative BBL execution due to binary translation |
Date: |
Sun, 16 Oct 2011 12:06:44 +0000 |
On Sun, Oct 16, 2011 at 2:19 AM, address@hidden
<address@hidden> wrote:
> Hi *,
>
> I have the following question regarding qemu binary translation of
> target-i386 (and maybe other targets):
>
> As far as I understood the code, when a basic block is executed, there
> is no event which can interrupt the execution until the bbl reaches its
> end and the control flow is then back at qemu. Is this right? Stumbled
> over this when asking me why basic blocks are sometimes divided even if
> there is no branch in it.
>
> If so, is the reason for this that some application like that could
> cause timing problems:
>
> c = get_executable_memory(1Gb)
> set(c, OPCODE_NOP, sizeof c)
> jmp_into c
Not really, we don't care very much about such timing problems.
Translation is limited so that the intermediate buffer does not
overflow, also page boundaries may not be crossed. If an instruction
may cause a fault, it will terminate the block.