From: liguang Date: Fri, 24 May 2013 02:47:31 +0000 (+0800) Subject: debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8c1f72da6b11051c48a642f7de7048956383e217;p=qemu.git debugcon: fix always print "addr=0x0, val=0x0" bug when use DEBUG_DEBUGCON when use DEBUG_DEBUGCON, screen spits: debugcon: write addr=0x0000 val=0x00 Rdebugcon: write addr=0x0000 val=0x00 udebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 gdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 pdebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 idebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 ndebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 rdebugcon: write addr=0x0000 val=0x00 odebugcon: write addr=0x0000 val=0x00 mdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 adebugcon: write addr=0x0000 val=0x00 tdebugcon: write addr=0x0000 val=0x00 debugcon: write addr=0x0000 val=0x00 Oh, that's wrong, val is not always be 0. this bug caused by lack of length modifier for specifier 'x'. Signed-off-by: liguang Signed-off-by: Michael Tokarev --- diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c index 02c9577024..7e41c90441 100644 --- a/hw/char/debugcon.c +++ b/hw/char/debugcon.c @@ -55,7 +55,7 @@ static void debugcon_ioport_write(void *opaque, hwaddr addr, uint64_t val, unsigned char ch = val; #ifdef DEBUG_DEBUGCON - printf("debugcon: write addr=0x%04x val=0x%02x\n", addr, val); + printf("debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02x\n", addr, val); #endif qemu_chr_fe_write(s->chr, &ch, 1);