1ad40be27SYifei Jiang /* 2ad40be27SYifei Jiang * QEMU KVM support -- RISC-V specific functions. 3ad40be27SYifei Jiang * 4ad40be27SYifei Jiang * Copyright (c) 2020 Huawei Technologies Co., Ltd 5ad40be27SYifei Jiang * 6ad40be27SYifei Jiang * This program is free software; you can redistribute it and/or modify it 7ad40be27SYifei Jiang * under the terms and conditions of the GNU General Public License, 8ad40be27SYifei Jiang * version 2 or later, as published by the Free Software Foundation. 9ad40be27SYifei Jiang * 10ad40be27SYifei Jiang * This program is distributed in the hope it will be useful, but WITHOUT 11ad40be27SYifei Jiang * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12ad40be27SYifei Jiang * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13ad40be27SYifei Jiang * more details. 14ad40be27SYifei Jiang * 15ad40be27SYifei Jiang * You should have received a copy of the GNU General Public License along with 16ad40be27SYifei Jiang * this program. If not, see <http://www.gnu.org/licenses/>. 17ad40be27SYifei Jiang */ 18ad40be27SYifei Jiang 19ad40be27SYifei Jiang #ifndef QEMU_KVM_RISCV_H 20ad40be27SYifei Jiang #define QEMU_KVM_RISCV_H 21ad40be27SYifei Jiang 22*7703a1d1SPhilippe Mathieu-Daudé #include "target/riscv/cpu-qom.h" 23*7703a1d1SPhilippe Mathieu-Daudé 24ad40be27SYifei Jiang void kvm_riscv_reset_vcpu(RISCVCPU *cpu); 252b650fbbSYifei Jiang void kvm_riscv_set_irq(RISCVCPU *cpu, int irq, int level); 269634ef7eSYong-Xuan Wang void kvm_riscv_aia_create(MachineState *machine, uint64_t group_shift, 279634ef7eSYong-Xuan Wang uint64_t aia_irq_num, uint64_t aia_msi_num, 289634ef7eSYong-Xuan Wang uint64_t aplic_base, uint64_t imsic_base, 299634ef7eSYong-Xuan Wang uint64_t guest_num); 30b8156640SDaniel Henrique Barboza void riscv_kvm_aplic_request(void *opaque, int irq, int level); 3186339515Sliguang.zhang int kvm_riscv_sync_mpstate_to_kvm(RISCVCPU *cpu, int state); 32bbef9140SDaniel Henrique Barboza void riscv_kvm_cpu_finalize_features(RISCVCPU *cpu, Error **errp); 33*7703a1d1SPhilippe Mathieu-Daudé uint64_t kvm_riscv_get_timebase_frequency(RISCVCPU *cpu); 34ad40be27SYifei Jiang 35ad40be27SYifei Jiang #endif 36