mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
hw/intc/loongson_ipi: Add TYPE_LOONGSON_IPI_COMMON stub
Introduce LOONGSON_IPI_COMMON stubs, QDev parent of LOONGSON_IPI. Signed-off-by: Bibo Mao <maobibo@loongson.cn> [PMD: Extracted from bigger commit, added commit description] Co-Developed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Bibo Mao <maobibo@loongson.cn> Tested-by: Bibo Mao <maobibo@loongson.cn> Acked-by: Song Gao <gaosong@loongson.cn> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Message-Id: <20240805180622.21001-4-philmd@linaro.org>
This commit is contained in:
parent
530e6daf74
commit
7e555781e4
7 changed files with 76 additions and 5 deletions
|
@ -8,6 +8,8 @@
|
|||
#ifndef HW_LOONGSON_IPI_H
|
||||
#define HW_LOONGSON_IPI_H
|
||||
|
||||
#include "qom/object.h"
|
||||
#include "hw/intc/loongson_ipi_common.h"
|
||||
#include "hw/sysbus.h"
|
||||
|
||||
/* Mainy used by iocsr read and write */
|
||||
|
@ -31,7 +33,7 @@
|
|||
#define IPI_MBX_NUM 4
|
||||
|
||||
#define TYPE_LOONGSON_IPI "loongson_ipi"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(LoongsonIPIState, LOONGSON_IPI)
|
||||
OBJECT_DECLARE_TYPE(LoongsonIPIState, LoongsonIPIClass, LOONGSON_IPI)
|
||||
|
||||
typedef struct IPICore {
|
||||
LoongsonIPIState *ipi;
|
||||
|
@ -45,8 +47,16 @@ typedef struct IPICore {
|
|||
qemu_irq irq;
|
||||
} IPICore;
|
||||
|
||||
struct LoongsonIPIClass {
|
||||
LoongsonIPICommonClass parent_class;
|
||||
|
||||
DeviceRealize parent_realize;
|
||||
DeviceUnrealize parent_unrealize;
|
||||
};
|
||||
|
||||
struct LoongsonIPIState {
|
||||
SysBusDevice parent_obj;
|
||||
LoongsonIPICommonState parent_obj;
|
||||
|
||||
MemoryRegion ipi_iocsr_mem;
|
||||
MemoryRegion ipi64_iocsr_mem;
|
||||
uint32_t num_cpu;
|
||||
|
|
26
include/hw/intc/loongson_ipi_common.h
Normal file
26
include/hw/intc/loongson_ipi_common.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||||
/*
|
||||
* Loongson ipi interrupt header files
|
||||
*
|
||||
* Copyright (C) 2021 Loongson Technology Corporation Limited
|
||||
*/
|
||||
|
||||
#ifndef HW_LOONGSON_IPI_COMMON_H
|
||||
#define HW_LOONGSON_IPI_COMMON_H
|
||||
|
||||
#include "qom/object.h"
|
||||
#include "hw/sysbus.h"
|
||||
|
||||
#define TYPE_LOONGSON_IPI_COMMON "loongson_ipi_common"
|
||||
OBJECT_DECLARE_TYPE(LoongsonIPICommonState,
|
||||
LoongsonIPICommonClass, LOONGSON_IPI_COMMON)
|
||||
|
||||
struct LoongsonIPICommonState {
|
||||
SysBusDevice parent_obj;
|
||||
};
|
||||
|
||||
struct LoongsonIPICommonClass {
|
||||
SysBusDeviceClass parent_class;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue