From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56312) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQcuW-00056r-89 for qemu-devel@nongnu.org; Fri, 12 Apr 2013 08:16:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UQcuR-0001Ci-Jv for qemu-devel@nongnu.org; Fri, 12 Apr 2013 08:16:56 -0400 Received: from cantor2.suse.de ([195.135.220.15]:36950 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQcuR-0001CP-AJ for qemu-devel@nongnu.org; Fri, 12 Apr 2013 08:16:51 -0400 Message-ID: <5167FB31.8080501@suse.de> Date: Fri, 12 Apr 2013 14:16:49 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1365739943-30194-1-git-send-email-lig.fnst@cn.fujitsu.com> In-Reply-To: <1365739943-30194-1-git-send-email-lig.fnst@cn.fujitsu.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: liguang Cc: qemu-devel@nongnu.org Am 12.04.2013 06:12, schrieb liguang: > when use DEBUG_DEBUGCON, screen spits: > debugcon: write addr=3D0x0000 val=3D0x00 > Rdebugcon: write addr=3D0x0000 val=3D0x00 > udebugcon: write addr=3D0x0000 val=3D0x00 > ndebugcon: write addr=3D0x0000 val=3D0x00 > ndebugcon: write addr=3D0x0000 val=3D0x00 > idebugcon: write addr=3D0x0000 val=3D0x00 > ndebugcon: write addr=3D0x0000 val=3D0x00 > gdebugcon: write addr=3D0x0000 val=3D0x00 > debugcon: write addr=3D0x0000 val=3D0x00 > odebugcon: write addr=3D0x0000 val=3D0x00 > pdebugcon: write addr=3D0x0000 val=3D0x00 > tdebugcon: write addr=3D0x0000 val=3D0x00 > idebugcon: write addr=3D0x0000 val=3D0x00 > odebugcon: write addr=3D0x0000 val=3D0x00 > ndebugcon: write addr=3D0x0000 val=3D0x00 > debugcon: write addr=3D0x0000 val=3D0x00 > rdebugcon: write addr=3D0x0000 val=3D0x00 > odebugcon: write addr=3D0x0000 val=3D0x00 > mdebugcon: write addr=3D0x0000 val=3D0x00 > debugcon: write addr=3D0x0000 val=3D0x00 > adebugcon: write addr=3D0x0000 val=3D0x00 > tdebugcon: write addr=3D0x0000 val=3D0x00 > debugcon: write addr=3D0x0000 val=3D0x00 >=20 > Oh, that's wrong, val is not always be 0. > this bug caused by lack of length modifier > for specifier 'x'. >=20 > Signed-off-by: liguang > --- > hw/char/debugcon.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) >=20 > diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c > index 0588eeb..e41ec8a 100644 > --- a/hw/char/debugcon.c > +++ b/hw/char/debugcon.c > @@ -55,7 +55,7 @@ static void debugcon_ioport_write(void *opaque, hwadd= r addr, uint64_t val, > unsigned char ch =3D val; > =20 > #ifdef DEBUG_DEBUGCON > - printf("debugcon: write addr=3D0x%04x val=3D0x%02x\n", addr, val); > + printf("debugcon: write addr=3D0x%04llx val=3D0x%02x\n", addr, val= ); That is almost as wrong as before: addr is of type hwaddr, so there should be a HWADDR_PRIx to use instead of hardcoded x or llx, which in turn depends on uint64_t implementation. val is of type uint64_t so you should use POSIX' PRIx64. Andreas > #endif > =20 > qemu_chr_fe_write(s->chr, &ch, 1); >=20 --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg