1 /* 2 * QEMU KVM ARM specific function stubs 3 * 4 * Copyright Linaro Limited 2013 5 * 6 * Author: Peter Maydell <peter.maydell@linaro.org> 7 * 8 * This work is licensed under the terms of the GNU GPL, version 2 or later. 9 * See the COPYING file in the top-level directory. 10 * 11 */ 12 #include "qemu/osdep.h" 13 #include "cpu.h" 14 #include "kvm_arm.h" 15 16 bool write_kvmstate_to_list(ARMCPU *cpu) 17 { 18 g_assert_not_reached(); 19 } 20 21 bool write_list_to_kvmstate(ARMCPU *cpu, int level) 22 { 23 g_assert_not_reached(); 24 } 25 26 /* 27 * It's safe to call these functions without KVM support. 28 * They should either do nothing or return "not supported". 29 */ 30 bool kvm_arm_aarch32_supported(void) 31 { 32 return false; 33 } 34 35 bool kvm_arm_pmu_supported(void) 36 { 37 return false; 38 } 39 40 bool kvm_arm_sve_supported(void) 41 { 42 return false; 43 } 44 45 bool kvm_arm_mte_supported(void) 46 { 47 return false; 48 } 49 50 /* 51 * These functions should never actually be called without KVM support. 52 */ 53 void kvm_arm_set_cpu_features_from_host(ARMCPU *cpu) 54 { 55 g_assert_not_reached(); 56 } 57 58 void kvm_arm_add_vcpu_properties(ARMCPU *cpu) 59 { 60 g_assert_not_reached(); 61 } 62 63 int kvm_arm_get_max_vm_ipa_size(MachineState *ms, bool *fixed_ipa) 64 { 65 g_assert_not_reached(); 66 } 67 68 int kvm_arm_vgic_probe(void) 69 { 70 g_assert_not_reached(); 71 } 72 73 void kvm_arm_pmu_set_irq(ARMCPU *cpu, int irq) 74 { 75 g_assert_not_reached(); 76 } 77 78 void kvm_arm_pmu_init(ARMCPU *cpu) 79 { 80 g_assert_not_reached(); 81 } 82 83 void kvm_arm_pvtime_init(ARMCPU *cpu, uint64_t ipa) 84 { 85 g_assert_not_reached(); 86 } 87 88 void kvm_arm_steal_time_finalize(ARMCPU *cpu, Error **errp) 89 { 90 g_assert_not_reached(); 91 } 92 93 uint32_t kvm_arm_sve_get_vls(ARMCPU *cpu) 94 { 95 g_assert_not_reached(); 96 } 97 98 void kvm_arm_enable_mte(Object *cpuobj, Error **errp) 99 { 100 g_assert_not_reached(); 101 } 102 103 void kvm_arm_reset_vcpu(ARMCPU *cpu) 104 { 105 g_assert_not_reached(); 106 } 107 108 void arm_cpu_kvm_set_irq(void *arm_cpu, int irq, int level) 109 { 110 g_assert_not_reached(); 111 } 112 113 void kvm_arm_cpu_pre_save(ARMCPU *cpu) 114 { 115 g_assert_not_reached(); 116 } 117 118 bool kvm_arm_cpu_post_load(ARMCPU *cpu) 119 { 120 g_assert_not_reached(); 121 } 122