]> git.proxmox.com Git - mirror_qemu.git/blame - kvm-stub.c
Merge remote-tracking branch 'remotes/cody/tags/block-pull-request' into staging
[mirror_qemu.git] / kvm-stub.c
CommitLineData
98c8573e
PB
1/*
2 * QEMU KVM stub
3 *
4 * Copyright Red Hat, Inc. 2010
5 *
6 * Author: Paolo Bonzini <pbonzini@redhat.com>
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
d38ea87a 13#include "qemu/osdep.h"
98c8573e 14#include "qemu-common.h"
2b41f10e 15#include "cpu.h"
9c17d615 16#include "sysemu/kvm.h"
98c8573e 17
c4cfef5e
IM
18#ifndef CONFIG_USER_ONLY
19#include "hw/pci/msi.h"
20#endif
21
92b4e489 22KVMState *kvm_state;
bbf3b804 23bool kvm_kernel_irqchip;
7ae26bd4 24bool kvm_async_interrupts_allowed;
69e03ae6 25bool kvm_eventfds_allowed;
cc7e0ddf 26bool kvm_irqfds_allowed;
879904e8 27bool kvm_resamplefds_allowed;
614e41bc 28bool kvm_msi_via_irqfd_allowed;
f3e1bed8 29bool kvm_gsi_routing_allowed;
76fe21de 30bool kvm_gsi_direct_mapping;
13eed94e 31bool kvm_allowed;
df9c8b75 32bool kvm_readonly_mem_allowed;
35108223 33bool kvm_ioeventfd_any_length_allowed;
767a554a 34bool kvm_msi_use_devid;
92b4e489 35
4c055ab5
GZ
36int kvm_destroy_vcpu(CPUState *cpu)
37{
38 return -ENOSYS;
39}
40
504134d2 41int kvm_init_vcpu(CPUState *cpu)
98c8573e
PB
42{
43 return -ENOSYS;
44}
45
98c8573e
PB
46void kvm_flush_coalesced_mmio_buffer(void)
47{
48}
49
dd1750d7 50void kvm_cpu_synchronize_state(CPUState *cpu)
98c8573e
PB
51{
52}
53
3f24a58f 54void kvm_cpu_synchronize_post_reset(CPUState *cpu)
98c8573e
PB
55{
56}
57
3f24a58f 58void kvm_cpu_synchronize_post_init(CPUState *cpu)
98c8573e
PB
59{
60}
61
1458c363 62int kvm_cpu_exec(CPUState *cpu)
98c8573e 63{
1458c363 64 abort();
98c8573e
PB
65}
66
67int kvm_has_sync_mmu(void)
68{
69 return 0;
70}
71
d2f2b8a7
SH
72int kvm_has_many_ioeventfds(void)
73{
74 return 0;
75}
76
38e478ec 77int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap)
98c8573e 78{
4bef75b5 79 return -ENOSYS;
98c8573e
PB
80}
81
62278814 82int kvm_insert_breakpoint(CPUState *cpu, target_ulong addr,
98c8573e
PB
83 target_ulong len, int type)
84{
85 return -EINVAL;
86}
87
62278814 88int kvm_remove_breakpoint(CPUState *cpu, target_ulong addr,
98c8573e
PB
89 target_ulong len, int type)
90{
91 return -EINVAL;
92}
93
1d5791f4 94void kvm_remove_all_breakpoints(CPUState *cpu)
98c8573e
PB
95{
96}
97
290adf38 98int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
a1b87fe0
JK
99{
100 return 1;
101}
102
c0532a76
MT
103int kvm_on_sigbus(int code, void *addr)
104{
105 return 1;
106}
92b4e489 107
c4cfef5e 108#ifndef CONFIG_USER_ONLY
d1f6af6a 109int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev)
92b4e489
JK
110{
111 return -ENOSYS;
112}
1e2aa8be 113
7b774593
AG
114void kvm_init_irq_routing(KVMState *s)
115{
116}
117
1e2aa8be
JK
118void kvm_irqchip_release_virq(KVMState *s, int virq)
119{
120}
39853bbc 121
dc9f06ca
PF
122int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg,
123 PCIDevice *dev)
078bbb50
MT
124{
125 return -ENOSYS;
126}
127
3f1fea0f
PX
128void kvm_irqchip_commit_routes(KVMState *s)
129{
130}
131
d426d9fb
CH
132int kvm_irqchip_add_adapter_route(KVMState *s, AdapterInfo *adapter)
133{
134 return -ENOSYS;
135}
136
1c9b71a7
EA
137int kvm_irqchip_add_irqfd_notifier_gsi(KVMState *s, EventNotifier *n,
138 EventNotifier *rn, int virq)
39853bbc
JK
139{
140 return -ENOSYS;
141}
142
1c9b71a7
EA
143int kvm_irqchip_remove_irqfd_notifier_gsi(KVMState *s, EventNotifier *n,
144 int virq)
15b2bd18
PB
145{
146 return -ENOSYS;
147}
b8865591
IM
148
149bool kvm_has_free_slot(MachineState *ms)
150{
151 return false;
152}
18268b60
PB
153
154void kvm_init_cpu_signals(CPUState *cpu)
155{
156 abort();
157}
c4cfef5e 158#endif