xref: /openbmc/qemu/include/hw/intc/loongson_ipi.h (revision f4bb895a3bb08d9bf6b04937555eff14225772e4)
1b4a12dfcSJiaxun Yang /* SPDX-License-Identifier: GPL-2.0-or-later */
2b4a12dfcSJiaxun Yang /*
3b4a12dfcSJiaxun Yang  * Loongson ipi interrupt header files
4b4a12dfcSJiaxun Yang  *
5b4a12dfcSJiaxun Yang  * Copyright (C) 2021 Loongson Technology Corporation Limited
6b4a12dfcSJiaxun Yang  */
7b4a12dfcSJiaxun Yang 
8b4a12dfcSJiaxun Yang #ifndef HW_LOONGSON_IPI_H
9b4a12dfcSJiaxun Yang #define HW_LOONGSON_IPI_H
10b4a12dfcSJiaxun Yang 
117e555781SBibo Mao #include "qom/object.h"
127e555781SBibo Mao #include "hw/intc/loongson_ipi_common.h"
13b4a12dfcSJiaxun Yang #include "hw/sysbus.h"
14b4a12dfcSJiaxun Yang 
15b4a12dfcSJiaxun Yang #define TYPE_LOONGSON_IPI "loongson_ipi"
167e555781SBibo Mao OBJECT_DECLARE_TYPE(LoongsonIPIState, LoongsonIPIClass, LOONGSON_IPI)
17b4a12dfcSJiaxun Yang 
187e555781SBibo Mao struct LoongsonIPIClass {
197e555781SBibo Mao     LoongsonIPICommonClass parent_class;
207e555781SBibo Mao 
217e555781SBibo Mao     DeviceRealize parent_realize;
227e555781SBibo Mao     DeviceUnrealize parent_unrealize;
237e555781SBibo Mao };
247e555781SBibo Mao 
2540a0815eSBibo Mao struct LoongsonIPIState {
267e555781SBibo Mao     LoongsonIPICommonState parent_obj;
277e555781SBibo Mao 
28*a022e0deSBibo Mao     MemoryRegion *ipi_mmio_mem;
29b4a12dfcSJiaxun Yang };
30b4a12dfcSJiaxun Yang 
31b4a12dfcSJiaxun Yang #endif
32