1 /* 2 * QEMU KVM support -- RISC-V specific functions. 3 * 4 * Copyright (c) 2020 Huawei Technologies Co., Ltd 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2 or later, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 * 15 * You should have received a copy of the GNU General Public License along with 16 * this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef QEMU_KVM_RISCV_H 20 #define QEMU_KVM_RISCV_H 21 22 void kvm_riscv_reset_vcpu(RISCVCPU *cpu); 23 void kvm_riscv_set_irq(RISCVCPU *cpu, int irq, int level); 24 void kvm_riscv_aia_create(MachineState *machine, uint64_t group_shift, 25 uint64_t aia_irq_num, uint64_t aia_msi_num, 26 uint64_t aplic_base, uint64_t imsic_base, 27 uint64_t guest_num); 28 void riscv_kvm_aplic_request(void *opaque, int irq, int level); 29 int kvm_riscv_sync_mpstate_to_kvm(RISCVCPU *cpu, int state); 30 void riscv_kvm_cpu_finalize_features(RISCVCPU *cpu, Error **errp); 31 uint64_t kvm_riscv_get_timebase_frequency(CPUState *cs); 32 33 #endif 34