1
2
3
4
5
6
7
8
9
10
11
12
13#include "qemu-common.h"
14#include "hw/hw.h"
15#include "cpu.h"
16#include "sysemu/kvm.h"
17
18#ifndef CONFIG_USER_ONLY
19#include "hw/pci/msi.h"
20#endif
21
22KVMState *kvm_state;
23bool kvm_kernel_irqchip;
24bool kvm_async_interrupts_allowed;
25bool kvm_irqfds_allowed;
26bool kvm_msi_via_irqfd_allowed;
27bool kvm_gsi_routing_allowed;
28bool kvm_allowed;
29bool kvm_readonly_mem_allowed;
30
31int kvm_init_vcpu(CPUState *cpu)
32{
33 return -ENOSYS;
34}
35
36int kvm_init(void)
37{
38 return -ENOSYS;
39}
40
41void kvm_flush_coalesced_mmio_buffer(void)
42{
43}
44
45void kvm_cpu_synchronize_state(CPUState *cpu)
46{
47}
48
49void kvm_cpu_synchronize_post_reset(CPUState *cpu)
50{
51}
52
53void kvm_cpu_synchronize_post_init(CPUState *cpu)
54{
55}
56
57int kvm_cpu_exec(CPUState *cpu)
58{
59 abort();
60}
61
62int kvm_has_sync_mmu(void)
63{
64 return 0;
65}
66
67int kvm_has_many_ioeventfds(void)
68{
69 return 0;
70}
71
72int kvm_has_pit_state2(void)
73{
74 return 0;
75}
76
77void kvm_setup_guest_memory(void *start, size_t size)
78{
79}
80
81int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap)
82{
83 return -ENOSYS;
84}
85
86int kvm_insert_breakpoint(CPUState *cpu, target_ulong addr,
87 target_ulong len, int type)
88{
89 return -EINVAL;
90}
91
92int kvm_remove_breakpoint(CPUState *cpu, target_ulong addr,
93 target_ulong len, int type)
94{
95 return -EINVAL;
96}
97
98void kvm_remove_all_breakpoints(CPUState *cpu)
99{
100}
101
102#ifndef _WIN32
103int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
104{
105 abort();
106}
107#endif
108
109int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
110{
111 return 1;
112}
113
114int kvm_on_sigbus(int code, void *addr)
115{
116 return 1;
117}
118
119#ifndef CONFIG_USER_ONLY
120int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
121{
122 return -ENOSYS;
123}
124
125void kvm_init_irq_routing(KVMState *s)
126{
127}
128
129void kvm_irqchip_release_virq(KVMState *s, int virq)
130{
131}
132
133int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg)
134{
135 return -ENOSYS;
136}
137
138int kvm_irqchip_add_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
139{
140 return -ENOSYS;
141}
142
143int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
144{
145 return -ENOSYS;
146}
147#endif
148