From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38589) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YsQbh-0007t6-GJ for qemu-devel@nongnu.org; Wed, 13 May 2015 02:57:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YsQbb-00009x-Ln for qemu-devel@nongnu.org; Wed, 13 May 2015 02:57:29 -0400 Received: from mail.ispras.ru ([83.149.199.45]:45978) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YsQbb-00009O-8D for qemu-devel@nongnu.org; Wed, 13 May 2015 02:57:23 -0400 From: "Pavel Dovgaluk" References: <555243C8.30602@redhat.com> In-Reply-To: <555243C8.30602@redhat.com> Date: Wed, 13 May 2015 09:57:23 +0300 Message-ID: <000d01d08d4a$1059c7c0$310d5740$@Dovgaluk@ispras.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Language: ru Subject: Re: [Qemu-devel] when does a target frontend need to use gen_io_start()/gen_io_end() ? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: 'Paolo Bonzini' , 'Peter Maydell' , 'QEMU Developers' Cc: 'Richard Henderson' > From: Paolo Bonzini [mailto:paolo.bonzini@gmail.com] On Behalf Of Paolo Bonzini > 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(). Doesn't this mean that ARM has incorrect implementation of icount? MMIO is common for this platform, but none of memory accesses are surrounded with gen_io_start()/gen_io_end(). Pavel Dovgalyuk