qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 09/13] hw/rtc/m48t59-isa: QOM'ify IRQ number


From: Bernhard Beschow
Subject: Re: [PATCH 09/13] hw/rtc/m48t59-isa: QOM'ify IRQ number
Date: Mon, 07 Mar 2022 13:59:24 +0000

Am 7. März 2022 13:43:49 UTC schrieb "Philippe Mathieu-Daudé" 
<philippe.mathieu.daude@gmail.com>:
>From: Bernhard Beschow <shentey@gmail.com>
>
>Exposing the IRQ number as a QOM property not only allows it to be
>configurable but also to be printed by standard QOM mechanisms. This allows
>isabus_dev_print() to be retired eventually.
>
>Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>Message-Id: <20220301220037.76555-3-shentey@gmail.com>
>Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>---
> hw/rtc/m48t59-isa.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
>diff --git a/hw/rtc/m48t59-isa.c b/hw/rtc/m48t59-isa.c
>index dc21fb10a5..e9086eada4 100644
>--- a/hw/rtc/m48t59-isa.c
>+++ b/hw/rtc/m48t59-isa.c
>@@ -42,6 +42,7 @@ struct M48txxISAState {
>     ISADevice parent_obj;
>     M48t59State state;
>     uint32_t io_base;
>+    uint8_t isairq;
>     MemoryRegion io;
> };
> 
>@@ -79,6 +80,7 @@ static void m48txx_isa_toggle_lock(Nvram *obj, int lock)
> static Property m48t59_isa_properties[] = {
>     DEFINE_PROP_INT32("base-year", M48txxISAState, state.base_year, 0),
>     DEFINE_PROP_UINT32("iobase", M48txxISAState, io_base, 0x74),
>+    DEFINE_PROP_UINT8("irq", M48txxISAState, isairq, 8),
>     DEFINE_PROP_END_OF_LIST(),
> };
> 
>@@ -97,9 +99,14 @@ static void m48t59_isa_realize(DeviceState *dev, Error 
>**errp)
>     M48txxISAState *d = M48TXX_ISA(dev);
>     M48t59State *s = &d->state;
> 
>+    if (d->isairq >= ISA_NUM_IRQS) {
>+        error_setg(errp, "Maximum value for \"irq\" is: %u", ISA_NUM_IRQS - 
>1);
>+        return;
>+    }
>+
>     s->model = u->info.model;
>     s->size = u->info.size;
>-    isa_init_irq(isadev, &s->IRQ, 8);
>+    isa_init_irq(isadev, &s->IRQ, d->isairq);
>     m48t59_realize_common(s, errp);
>     memory_region_init_io(&d->io, OBJECT(dev), &m48t59_io_ops, s, "m48t59", 
> 4);
>     if (d->io_base != 0) {

Reviewed-by: Bernhard Beschow <shentey@gmail.com>




reply via email to

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