qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] when does a target frontend need to use gen_io_start()/


From: Peter Maydell
Subject: Re: [Qemu-devel] when does a target frontend need to use gen_io_start()/gen_io_end() ?
Date: Tue, 12 May 2015 20:41:56 +0100

On 12 May 2015 at 19:17, Paolo Bonzini <address@hidden> wrote:
> On 12/05/2015 17:32, Peter Maydell wrote:
>> In order for -icount to work, it's important for the target
>> translate.c code to correctly bracket any generated code which
>> can "do I/O" with gen_io_start()/gen_io_end() calls. But
>> does anybody know exactly what the criteria are here for this?
>> It would be nice if we could document this in a comment in
>> gen_icount.h -- I'm happy to write one up if somebody will just
>> tell me what the right answer is :-)
>
> It's any instruction that can cause an icount read, typically through
> QEMU_CLOCK_VIRTUAL or cpu_get_ticks().

Also anything that can cause a CPU interrupt, since tcg_handle_interrupt()
will call cpu_abort() if the CPU gets an interrupt while it's not
in a 'can do IO' state.

Anything else?

[How are -icount and multi-threaded TCG going to interact? Do we
just say "you get one or the other but not both" ?]

-- PMM



reply via email to

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