30f6ec395658246ae257b3a10a768eb4f0a340bd
[sdk/emulator/qemu.git] / kvm-stub.c
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"
14 #include "sysemu.h"
15 #include "hw/hw.h"
16 #include "exec-all.h"
17 #include "gdbstub.h"
18 #include "kvm.h"
19
20 int kvm_irqchip_in_kernel(void)
21 {
22     return 0;
23 }
24
25 int kvm_pit_in_kernel(void)
26 {
27     return 0;
28 }
29
30
31 int kvm_init_vcpu(CPUState *env)
32 {
33     return -ENOSYS;
34 }
35
36 int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
37 {
38     return -ENOSYS;
39 }
40
41 int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
42 {
43     return -ENOSYS;
44 }
45
46 int kvm_check_extension(KVMState *s, unsigned int extension)
47 {
48     return 0;
49 }
50
51 int kvm_init(void)
52 {
53     return -ENOSYS;
54 }
55
56 void kvm_flush_coalesced_mmio_buffer(void)
57 {
58 }
59
60 void kvm_cpu_synchronize_state(CPUState *env)
61 {
62 }
63
64 void kvm_cpu_synchronize_post_reset(CPUState *env)
65 {
66 }
67
68 void kvm_cpu_synchronize_post_init(CPUState *env)
69 {
70 }
71
72 int kvm_cpu_exec(CPUState *env)
73 {
74     abort ();
75 }
76
77 int kvm_has_sync_mmu(void)
78 {
79     return 0;
80 }
81
82 int kvm_has_vcpu_events(void)
83 {
84     return 0;
85 }
86
87 int kvm_has_robust_singlestep(void)
88 {
89     return 0;
90 }
91
92 int kvm_has_many_ioeventfds(void)
93 {
94     return 0;
95 }
96
97 void kvm_setup_guest_memory(void *start, size_t size)
98 {
99 }
100
101 int kvm_update_guest_debug(CPUState *env, unsigned long reinject_trap)
102 {
103     tb_flush(env);
104     return 0;
105 }
106
107 int kvm_insert_breakpoint(CPUState *current_env, target_ulong addr,
108                           target_ulong len, int type)
109 {
110     return -EINVAL;
111 }
112
113 int kvm_remove_breakpoint(CPUState *current_env, target_ulong addr,
114                           target_ulong len, int type)
115 {
116     return -EINVAL;
117 }
118
119 void kvm_remove_all_breakpoints(CPUState *current_env)
120 {
121 }
122
123 #ifndef _WIN32
124 int kvm_set_signal_mask(CPUState *env, const sigset_t *sigset)
125 {
126     abort();
127 }
128 #endif
129
130 int kvm_set_ioeventfd_pio_word(int fd, uint16_t addr, uint16_t val, bool assign)
131 {
132     return -ENOSYS;
133 }
134
135 int kvm_set_ioeventfd_mmio_long(int fd, uint32_t adr, uint32_t val, bool assign)
136 {
137     return -ENOSYS;
138 }
139
140 int kvm_on_sigbus_vcpu(CPUState *env, int code, void *addr)
141 {
142     return 1;
143 }
144
145 int kvm_on_sigbus(int code, void *addr)
146 {
147     return 1;
148 }