summary refs log tree commit diff stats
path: root/include/hw/intc/loongarch_pch_pic.h
blob: a46b6f8985db62a3b67b96a5f83be1ef8a0cf96a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * LoongArch 7A1000 I/O interrupt controller definitions
 *
 * Copyright (c) 2021 Loongson Technology Corporation Limited
 */

#ifndef HW_LOONGARCH_PCH_PIC_H
#define HW_LOONGARCH_PCH_PIC_H

#include "hw/intc/loongarch_pic_common.h"

#define TYPE_LOONGARCH_PIC  "loongarch_pic"
#define PCH_PIC_NAME(name)  TYPE_LOONGARCH_PIC#name
OBJECT_DECLARE_TYPE(LoongarchPICState, LoongarchPICClass, LOONGARCH_PIC)

struct LoongarchPICState {
    LoongArchPICCommonState parent_obj;
    int dev_fd;
};

struct LoongarchPICClass {
    LoongArchPICCommonClass parent_class;

    DeviceRealize parent_realize;
    ResettablePhases parent_phases;
};

void kvm_pic_realize(DeviceState *dev, Error **errp);
int kvm_pic_get(void *opaque);
int kvm_pic_put(void *opaque, int version_id);

#endif /* HW_LOONGARCH_PCH_PIC_H */