qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] hw/char: QOM'ify escc.c (fix)


From: Mark Cave-Ayland
Subject: Re: [Qemu-devel] [PATCH] hw/char: QOM'ify escc.c (fix)
Date: Wed, 1 Jun 2016 13:33:43 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.8.0

On 01/06/16 08:58, xiaoqiang zhao wrote:

> The previous commit e7c9136977cb99c6eb52c9139f7b8d8b5fa87db9
> (hw/char: QOM'ify escc.c) cause qemu-system-ppc/ppc64
> OpenBIOS to freeze on startup, this commit fix it.
> 
> Signed-off-by: xiaoqiang zhao <address@hidden>
> ---
>  hw/char/escc.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/char/escc.c b/hw/char/escc.c
> index 8e6a7df..31a5f90 100644
> --- a/hw/char/escc.c
> +++ b/hw/char/escc.c
> @@ -989,18 +989,13 @@ static void escc_init1(Object *obj)
>      SysBusDevice *dev = SYS_BUS_DEVICE(obj);
>      unsigned int i;
>  
> -    s->chn[0].disabled = s->disabled;
> -    s->chn[1].disabled = s->disabled;
>      for (i = 0; i < 2; i++) {
>          sysbus_init_irq(dev, &s->chn[i].irq);
>          s->chn[i].chn = 1 - i;
> -        s->chn[i].clock = s->frequency / 2;
>      }
>      s->chn[0].otherchn = &s->chn[1];
>      s->chn[1].otherchn = &s->chn[0];
>  
> -    memory_region_init_io(&s->mmio, obj, &escc_mem_ops, s, "escc",
> -                          ESCC_SIZE << s->it_shift);
>      sysbus_init_mmio(dev, &s->mmio);
>  }
>  
> @@ -1009,8 +1004,15 @@ static void escc_realize(DeviceState *dev, Error 
> **errp)
>      ESCCState *s = ESCC(dev);
>      unsigned int i;
>  
> +    s->chn[0].disabled = s->disabled;
> +    s->chn[1].disabled = s->disabled;
> +
> +    memory_region_init_io(&s->mmio, OBJECT(dev), &escc_mem_ops, s, "escc",
> +                          ESCC_SIZE << s->it_shift);
> +
>      for (i = 0; i < 2; i++) {
>          if (s->chn[i].chr) {
> +            s->chn[i].clock = s->frequency / 2;

Should this not still be in escc_init1() since s->frequency is set by a
property?

>              qemu_chr_add_handlers(s->chn[i].chr, serial_can_receive,
>                                    serial_receive1, serial_event, &s->chn[i]);
>          }
> 

Otherwise, thanks for the patch - I'll try it this evening on both
qemu-system-ppc and qemu-system-sparc since both of them use ESCC serial
ports and report back.


ATB,

Mark.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]