aboutsummaryrefslogtreecommitdiff
path: root/include/hw/intc/loongson_ipi_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/hw/intc/loongson_ipi_common.h')
-rw-r--r--include/hw/intc/loongson_ipi_common.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/hw/intc/loongson_ipi_common.h b/include/hw/intc/loongson_ipi_common.h
index df9d9c5..e58ce2a 100644
--- a/include/hw/intc/loongson_ipi_common.h
+++ b/include/hw/intc/loongson_ipi_common.h
@@ -27,6 +27,8 @@ typedef struct IPICore {
/* 64bit buf divide into 2 32-bit buf */
uint32_t buf[IPI_MBX_NUM * 2];
qemu_irq irq;
+ uint64_t arch_id;
+ CPUState *cpu;
} IPICore;
struct LoongsonIPICommonState {
@@ -44,7 +46,10 @@ struct LoongsonIPICommonClass {
DeviceRealize parent_realize;
DeviceUnrealize parent_unrealize;
AddressSpace *(*get_iocsr_as)(CPUState *cpu);
- CPUState *(*cpu_by_arch_id)(int64_t id);
+ int (*cpu_by_arch_id)(LoongsonIPICommonState *lics, int64_t id,
+ int *index, CPUState **pcs);
+ int (*pre_save)(void *opaque);
+ int (*post_load)(void *opaque, int version_id);
};
MemTxResult loongson_ipi_core_readl(void *opaque, hwaddr addr, uint64_t *data,