From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46696) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZX9HE-0007tq-4i for qemu-devel@nongnu.org; Wed, 02 Sep 2015 10:44:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZX9HA-0007p5-Ts for qemu-devel@nongnu.org; Wed, 02 Sep 2015 10:44:40 -0400 Received: from smtp.ispras.ru ([83.149.199.79]:40778) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZX9HA-0007ou-MN for qemu-devel@nongnu.org; Wed, 02 Sep 2015 10:44:36 -0400 Received: from [10.10.2.131] (unknown [83.149.199.91]) by smtp.ispras.ru (Postfix) with ESMTP id 5856A20500 for ; Wed, 2 Sep 2015 17:44:35 +0300 (MSK) References: <55E6F1DF.1090807@ispras.ru> From: Sergey Smolov Message-ID: <55E6FEA6.5080708@ispras.ru> Date: Wed, 2 Sep 2015 17:50:30 +0400 MIME-Version: 1.0 In-Reply-To: <55E6F1DF.1090807@ispras.ru> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] QEMU+Aarch64: in_asm log skips instructions of loop-programs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 02.09.2015 16:55, Sergey Smolov =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > Hello, List! > > I've found that while running Aarch64 assembler programs on QEMU with=20 > "-d in_asm" option enabled I receive not complete logs. For example,=20 > on the following assembler program which contains a loop : > > [assembler] > .globl _start > bl _start > _start: > label1: > movz x0, 10 > subs x0, x0, 1 > b.eq label2 > b label1 > label2: > hlt #57005 > [/assembler] > > I receive the following log which does not include "loop unrolling": > [log] > ---------------- > IN: > 0x0000000000000000: 94000001 bl #+0x4 (addr 0x4) > > ---------------- > IN: > 0x0000000000000004: d2800140 mov x0, #0xa > > ---------------- > IN: > 0x0000000000000008: f1000400 subs x0, x0, #0x1 (1) > > ---------------- > IN: > 0x000000000000000c: 54000040 b.eq #+0x8 (addr 0x14) > > ---------------- > IN: > 0x0000000000000010: 17fffffd b #-0xc (addr 0x4) > > > [/log] > > It seems that QEMU skips some internal instructions when generates=20 > "in_asm" log. How to eliminate this? > > Thanks in advance! > > Sincerely yours, > Sergey Smolov Sorry, the correct assembler code is: .globl _start bl _start _start: movz x0, 10 label1: subs x0, x0, 1 b.eq label2 b label1 label2: hlt #57005