diff options
author | Bibo Mao <maobibo@loongson.cn> | 2024-09-20 15:49:12 +0800 |
---|---|---|
committer | Bibo Mao <maobibo@loongson.cn> | 2024-12-19 15:23:29 +0800 |
commit | aa6330d50ccf7467a022dc348ab6ae2323c2b0b9 (patch) | |
tree | 839e9121b676c340ffe3d509c516889d82884225 | |
parent | c169b51b1720c2722bfacb83896cd7100859ee4c (diff) | |
download | qemu-aa6330d50ccf7467a022dc348ab6ae2323c2b0b9.zip qemu-aa6330d50ccf7467a022dc348ab6ae2323c2b0b9.tar.gz qemu-aa6330d50ccf7467a022dc348ab6ae2323c2b0b9.tar.bz2 |
hw/intc/loongarch_extioi: Add common realize interface
Add common realize function, it is only to check validity of property.
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Song Gao <gaosong@loongson.cn>
-rw-r--r-- | hw/intc/loongarch_extioi.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/hw/intc/loongarch_extioi.c b/hw/intc/loongarch_extioi.c index 039fc4d..dcc278a 100644 --- a/hw/intc/loongarch_extioi.c +++ b/hw/intc/loongarch_extioi.c @@ -318,14 +318,26 @@ static const MemoryRegionOps extioi_virt_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; +static void loongarch_extioi_common_realize(DeviceState *dev, Error **errp) +{ + LoongArchExtIOICommonState *s = (LoongArchExtIOICommonState *)dev; + + if (s->num_cpu == 0) { + error_setg(errp, "num-cpu must be at least 1"); + return; + } +} + static void loongarch_extioi_realize(DeviceState *dev, Error **errp) { LoongArchExtIOI *s = LOONGARCH_EXTIOI(dev); SysBusDevice *sbd = SYS_BUS_DEVICE(dev); + Error *local_err = NULL; int i, pin; - if (s->num_cpu == 0) { - error_setg(errp, "num-cpu must be at least 1"); + loongarch_extioi_common_realize(dev, &local_err); + if (local_err) { + error_propagate(errp, local_err); return; } |