Skip to content

Commit ce78dac

Browse files
committed
hw/intc/loongson_ipi: Remove property num_cpu from loongson_ipi_common
With mips64 loongson ipi, num_cpu property is used. With loongarch ipi, num_cpu can be acquired from possible_cpu_arch_ids. Here remove property num_cpu from loongson_ipi_common, and put it into loongson and loongarch ipi separately. Signed-off-by: Bibo Mao <[email protected]> Reviewed-by: Bibo Mao <[email protected]>
1 parent 5b82177 commit ce78dac

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

hw/intc/loongarch_ipi.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "hw/boards.h"
1010
#include "qapi/error.h"
1111
#include "hw/intc/loongarch_ipi.h"
12+
#include "hw/qdev-properties.h"
1213
#include "target/loongarch/cpu.h"
1314

1415
static AddressSpace *get_iocsr_as(CPUState *cpu)
@@ -75,6 +76,10 @@ static void loongarch_ipi_realize(DeviceState *dev, Error **errp)
7576
}
7677
}
7778

79+
static const Property loongarch_ipi_properties[] = {
80+
DEFINE_PROP_UINT32("num-cpu", LoongsonIPICommonState, num_cpu, 1),
81+
};
82+
7883
static void loongarch_ipi_class_init(ObjectClass *klass, void *data)
7984
{
8085
LoongsonIPICommonClass *licc = LOONGSON_IPI_COMMON_CLASS(klass);
@@ -83,6 +88,7 @@ static void loongarch_ipi_class_init(ObjectClass *klass, void *data)
8388

8489
device_class_set_parent_realize(dc, loongarch_ipi_realize,
8590
&lic->parent_realize);
91+
device_class_set_props(dc, loongarch_ipi_properties);
8692
licc->get_iocsr_as = get_iocsr_as;
8793
licc->cpu_by_arch_id = loongarch_cpu_by_arch_id;
8894
}

hw/intc/loongson_ipi.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#include "qemu/osdep.h"
99
#include "hw/intc/loongson_ipi.h"
10+
#include "hw/qdev-properties.h"
1011
#include "qapi/error.h"
1112
#include "target/mips/cpu.h"
1213

@@ -75,6 +76,10 @@ static void loongson_ipi_unrealize(DeviceState *dev)
7576
k->parent_unrealize(dev);
7677
}
7778

79+
static const Property loongson_ipi_properties[] = {
80+
DEFINE_PROP_UINT32("num-cpu", LoongsonIPICommonState, num_cpu, 1),
81+
};
82+
7883
static void loongson_ipi_class_init(ObjectClass *klass, void *data)
7984
{
8085
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -85,6 +90,7 @@ static void loongson_ipi_class_init(ObjectClass *klass, void *data)
8590
&lic->parent_realize);
8691
device_class_set_parent_unrealize(dc, loongson_ipi_unrealize,
8792
&lic->parent_unrealize);
93+
device_class_set_props(dc, loongson_ipi_properties);
8894
licc->get_iocsr_as = get_iocsr_as;
8995
licc->cpu_by_arch_id = cpu_by_arch_id;
9096
}

hw/intc/loongson_ipi_common.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
#include "hw/sysbus.h"
1010
#include "hw/intc/loongson_ipi_common.h"
1111
#include "hw/irq.h"
12-
#include "hw/qdev-properties.h"
1312
#include "qemu/log.h"
1413
#include "migration/vmstate.h"
1514
#include "trace.h"
@@ -301,10 +300,6 @@ static const VMStateDescription vmstate_loongson_ipi_common = {
301300
}
302301
};
303302

304-
static const Property ipi_common_properties[] = {
305-
DEFINE_PROP_UINT32("num-cpu", LoongsonIPICommonState, num_cpu, 1),
306-
};
307-
308303
static void loongson_ipi_common_class_init(ObjectClass *klass, void *data)
309304
{
310305
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -314,7 +309,6 @@ static void loongson_ipi_common_class_init(ObjectClass *klass, void *data)
314309
&licc->parent_realize);
315310
device_class_set_parent_unrealize(dc, loongson_ipi_common_unrealize,
316311
&licc->parent_unrealize);
317-
device_class_set_props(dc, ipi_common_properties);
318312
dc->vmsd = &vmstate_loongson_ipi_common;
319313
}
320314

0 commit comments

Comments
 (0)