xref: /qemu/hw/intc/loongarch_ipi_kvm.c (revision 412f655566bfadfe85d6f52a7e4420b418f261c3)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * LoongArch IPI interrupt KVM support
4  *
5  * Copyright (C) 2025 Loongson Technology Corporation Limited
6  */
7 
8 #include "qemu/osdep.h"
9 #include "qapi/error.h"
10 #include "hw/intc/loongarch_ipi.h"
11 #include "system/kvm.h"
12 #include "target/loongarch/cpu.h"
13 
14 void kvm_ipi_realize(DeviceState *dev, Error **errp)
15 {
16     LoongarchIPIState *lis = LOONGARCH_IPI(dev);
17     int ret;
18 
19     ret = kvm_create_device(kvm_state, KVM_DEV_TYPE_LOONGARCH_IPI, false);
20     if (ret < 0) {
21         fprintf(stderr, "IPI KVM_CREATE_DEVICE failed: %s\n",
22                 strerror(-ret));
23         abort();
24     }
25 
26     lis->dev_fd = ret;
27 }
28