Statistics
| Branch: | Revision:

root / kvm-stub.c @ 7ae26bd4

History | View | Annotate | Download (2.7 kB)

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 "hw/hw.h"
15
#include "hw/msi.h"
16
#include "cpu.h"
17
#include "gdbstub.h"
18
#include "kvm.h"
19

    
20
KVMState *kvm_state;
21
bool kvm_kernel_irqchip;
22
bool kvm_async_interrupts_allowed;
23

    
24
int kvm_init_vcpu(CPUArchState *env)
25
{
26
    return -ENOSYS;
27
}
28

    
29
int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
30
{
31
    return -ENOSYS;
32
}
33

    
34
int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
35
{
36
    return -ENOSYS;
37
}
38

    
39
int kvm_init(void)
40
{
41
    return -ENOSYS;
42
}
43

    
44
void kvm_flush_coalesced_mmio_buffer(void)
45
{
46
}
47

    
48
void kvm_cpu_synchronize_state(CPUArchState *env)
49
{
50
}
51

    
52
void kvm_cpu_synchronize_post_reset(CPUArchState *env)
53
{
54
}
55

    
56
void kvm_cpu_synchronize_post_init(CPUArchState *env)
57
{
58
}
59

    
60
int kvm_cpu_exec(CPUArchState *env)
61
{
62
    abort ();
63
}
64

    
65
int kvm_has_sync_mmu(void)
66
{
67
    return 0;
68
}
69

    
70
int kvm_has_many_ioeventfds(void)
71
{
72
    return 0;
73
}
74

    
75
int kvm_allows_irq0_override(void)
76
{
77
    return 1;
78
}
79

    
80
int kvm_has_pit_state2(void)
81
{
82
    return 0;
83
}
84

    
85
void kvm_setup_guest_memory(void *start, size_t size)
86
{
87
}
88

    
89
int kvm_update_guest_debug(CPUArchState *env, unsigned long reinject_trap)
90
{
91
    return -ENOSYS;
92
}
93

    
94
int kvm_insert_breakpoint(CPUArchState *current_env, target_ulong addr,
95
                          target_ulong len, int type)
96
{
97
    return -EINVAL;
98
}
99

    
100
int kvm_remove_breakpoint(CPUArchState *current_env, target_ulong addr,
101
                          target_ulong len, int type)
102
{
103
    return -EINVAL;
104
}
105

    
106
void kvm_remove_all_breakpoints(CPUArchState *current_env)
107
{
108
}
109

    
110
#ifndef _WIN32
111
int kvm_set_signal_mask(CPUArchState *env, const sigset_t *sigset)
112
{
113
    abort();
114
}
115
#endif
116

    
117
int kvm_set_ioeventfd_pio_word(int fd, uint16_t addr, uint16_t val, bool assign)
118
{
119
    return -ENOSYS;
120
}
121

    
122
int kvm_set_ioeventfd_mmio(int fd, uint32_t adr, uint32_t val, bool assign, uint32_t len)
123
{
124
    return -ENOSYS;
125
}
126

    
127
int kvm_on_sigbus_vcpu(CPUArchState *env, int code, void *addr)
128
{
129
    return 1;
130
}
131

    
132
int kvm_on_sigbus(int code, void *addr)
133
{
134
    return 1;
135
}
136

    
137
int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
138
{
139
    return -ENOSYS;
140
}
141

    
142
void kvm_irqchip_release_virq(KVMState *s, int virq)
143
{
144
}
145

    
146
int kvm_irqchip_add_irqfd(KVMState *s, int fd, int virq)
147
{
148
    return -ENOSYS;
149
}
150

    
151
int kvm_irqchip_add_irq_notifier(KVMState *s, EventNotifier *n, int virq)
152
{
153
    return -ENOSYS;
154
}
155

    
156
int kvm_irqchip_remove_irqfd(KVMState *s, int fd, int virq)
157
{
158
    return -ENOSYS;
159
}
160

    
161
int kvm_irqchip_remove_irq_notifier(KVMState *s, EventNotifier *n, int virq)
162
{
163
    return -ENOSYS;
164
}