]> git.proxmox.com Git - mirror_qemu.git/blame - kvm-stub.c
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' 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
13#include "qemu-common.h"
98c8573e 14#include "hw/hw.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;
92b4e489 33
504134d2 34int kvm_init_vcpu(CPUState *cpu)
98c8573e
PB
35{
36 return -ENOSYS;
37}
38
98c8573e
PB
39void kvm_flush_coalesced_mmio_buffer(void)
40{
41}
42
dd1750d7 43void kvm_cpu_synchronize_state(CPUState *cpu)
98c8573e
PB
44{
45}
46
3f24a58f 47void kvm_cpu_synchronize_post_reset(CPUState *cpu)
98c8573e
PB
48{
49}
50
3f24a58f 51void kvm_cpu_synchronize_post_init(CPUState *cpu)
98c8573e
PB
52{
53}
54
1458c363 55int kvm_cpu_exec(CPUState *cpu)
98c8573e 56{
1458c363 57 abort();
98c8573e
PB
58}
59
60int kvm_has_sync_mmu(void)
61{
62 return 0;
63}
64
d2f2b8a7
SH
65int kvm_has_many_ioeventfds(void)
66{
67 return 0;
68}
69
98c8573e
PB
70void kvm_setup_guest_memory(void *start, size_t size)
71{
72}
73
38e478ec 74int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap)
98c8573e 75{
4bef75b5 76 return -ENOSYS;
98c8573e
PB
77}
78
62278814 79int kvm_insert_breakpoint(CPUState *cpu, target_ulong addr,
98c8573e
PB
80 target_ulong len, int type)
81{
82 return -EINVAL;
83}
84
62278814 85int kvm_remove_breakpoint(CPUState *cpu, target_ulong addr,
98c8573e
PB
86 target_ulong len, int type)
87{
88 return -EINVAL;
89}
90
1d5791f4 91void kvm_remove_all_breakpoints(CPUState *cpu)
98c8573e
PB
92{
93}
94
95#ifndef _WIN32
491d6e80 96int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
98c8573e
PB
97{
98 abort();
99}
100#endif
101
290adf38 102int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
a1b87fe0
JK
103{
104 return 1;
105}
106
c0532a76
MT
107int kvm_on_sigbus(int code, void *addr)
108{
109 return 1;
110}
92b4e489 111
c4cfef5e 112#ifndef CONFIG_USER_ONLY
dc9f06ca 113int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg, PCIDevice *dev)
92b4e489
JK
114{
115 return -ENOSYS;
116}
1e2aa8be 117
7b774593
AG
118void kvm_init_irq_routing(KVMState *s)
119{
120}
121
1e2aa8be
JK
122void kvm_irqchip_release_virq(KVMState *s, int virq)
123{
124}
39853bbc 125
dc9f06ca
PF
126int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg,
127 PCIDevice *dev)
078bbb50
MT
128{
129 return -ENOSYS;
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}
c4cfef5e 153#endif