Commit 4b3eec91 authored by xiaoqiang zhao's avatar xiaoqiang zhao Committed by Paolo Bonzini
Browse files

hw/char: QOM'ify escc.c (fix)



The previous commit e7c91369
(hw/char: QOM'ify escc.c) cause qemu-system-ppc/ppc64
OpenBIOS to freeze on startup, this commit fix it.

Signed-off-by: default avatarxiaoqiang zhao <zxq_yx_007@163.com>
Tested-by: default avatarMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-Id: <1464767898-30526-1-git-send-email-zxq_yx_007@163.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 8156d480
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -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;
            qemu_chr_add_handlers(s->chn[i].chr, serial_can_receive,
                                  serial_receive1, serial_event, &s->chn[i]);
        }