ping ...
在 2013-04-16二的 11:53 +0800,liguang写道:
> 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 <lig.f...@cn.fujitsu.com>
> ---
> hw/char/debugcon.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
> index 0588eeb..44c93e1 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);