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