support xattr syscall in qemu-arm
[external/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_log_start(target_phys_addr_t phys_addr, ram_addr_t size)
37 {
38     return -ENOSYS;
39 }
40
41 int kvm_log_stop(target_phys_addr_t phys_addr, ram_addr_t size)
42 {
43     return -ENOSYS;
44 }
45
46 int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
47 {
48     return -ENOSYS;
49 }
50
51 int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
52 {
53     return -ENOSYS;
54 }
55
56 int kvm_check_extension(KVMState *s, unsigned int extension)
57 {
58     return 0;
59 }
60
61 int kvm_init(void)
62 {
63     return -ENOSYS;
64 }
65
66 void kvm_flush_coalesced_mmio_buffer(void)
67 {
68 }
69
70 void kvm_cpu_synchronize_state(CPUState *env)
71 {
72 }
73
74 void kvm_cpu_synchronize_post_reset(CPUState *env)
75 {
76 }
77
78 void kvm_cpu_synchronize_post_init(CPUState *env)
79 {
80 }
81
82 int kvm_cpu_exec(CPUState *env)
83 {
84     abort ();
85 }
86
87 int kvm_has_sync_mmu(void)
88 {
89     return 0;
90 }
91
92 int kvm_has_vcpu_events(void)
93 {
94     return 0;
95 }
96
97 int kvm_has_robust_singlestep(void)
98 {
99     return 0;
100 }
101
102 int kvm_has_many_ioeventfds(void)
103 {
104     return 0;
105 }
106
107 void kvm_setup_guest_memory(void *start, size_t size)
108 {
109 }
110
111 int kvm_update_guest_debug(CPUState *env, unsigned long reinject_trap)
112 {
113     tb_flush(env);
114     return 0;
115 }
116
117 int kvm_insert_breakpoint(CPUState *current_env, target_ulong addr,
118                           target_ulong len, int type)
119 {
120     return -EINVAL;
121 }
122
123 int kvm_remove_breakpoint(CPUState *current_env, target_ulong addr,
124                           target_ulong len, int type)
125 {
126     return -EINVAL;
127 }
128
129 void kvm_remove_all_breakpoints(CPUState *current_env)
130 {
131 }
132
133 #ifndef _WIN32
134 int kvm_set_signal_mask(CPUState *env, const sigset_t *sigset)
135 {
136     abort();
137 }
138 #endif
139
140 int kvm_set_ioeventfd_pio_word(int fd, uint16_t addr, uint16_t val, bool assign)
141 {
142     return -ENOSYS;
143 }
144
145 int kvm_set_ioeventfd_mmio_long(int fd, uint32_t adr, uint32_t val, bool assign)
146 {
147     return -ENOSYS;
148 }
149
150 int kvm_on_sigbus(int code, void *addr)
151 {
152     return 1;
153 }