Statistics
| Branch: | Revision:

root / kvm-stub.c @ 57f45b62

History | View | Annotate | Download (2.4 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 "cpu.h"
16
#include "sysemu/kvm.h"
17

    
18
#ifndef CONFIG_USER_ONLY
19
#include "hw/pci/msi.h"
20
#endif
21

    
22
KVMState *kvm_state;
23
bool kvm_kernel_irqchip;
24
bool kvm_async_interrupts_allowed;
25
bool kvm_irqfds_allowed;
26
bool kvm_msi_via_irqfd_allowed;
27
bool kvm_gsi_routing_allowed;
28
bool kvm_gsi_direct_mapping;
29
bool kvm_allowed;
30
bool kvm_readonly_mem_allowed;
31

    
32
int kvm_init_vcpu(CPUState *cpu)
33
{
34
    return -ENOSYS;
35
}
36

    
37
int kvm_init(void)
38
{
39
    return -ENOSYS;
40
}
41

    
42
void kvm_flush_coalesced_mmio_buffer(void)
43
{
44
}
45

    
46
void kvm_cpu_synchronize_state(CPUState *cpu)
47
{
48
}
49

    
50
void kvm_cpu_synchronize_post_reset(CPUState *cpu)
51
{
52
}
53

    
54
void kvm_cpu_synchronize_post_init(CPUState *cpu)
55
{
56
}
57

    
58
int kvm_cpu_exec(CPUState *cpu)
59
{
60
    abort();
61
}
62

    
63
int kvm_has_sync_mmu(void)
64
{
65
    return 0;
66
}
67

    
68
int kvm_has_many_ioeventfds(void)
69
{
70
    return 0;
71
}
72

    
73
int kvm_has_pit_state2(void)
74
{
75
    return 0;
76
}
77

    
78
void kvm_setup_guest_memory(void *start, size_t size)
79
{
80
}
81

    
82
int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap)
83
{
84
    return -ENOSYS;
85
}
86

    
87
int kvm_insert_breakpoint(CPUState *cpu, target_ulong addr,
88
                          target_ulong len, int type)
89
{
90
    return -EINVAL;
91
}
92

    
93
int kvm_remove_breakpoint(CPUState *cpu, target_ulong addr,
94
                          target_ulong len, int type)
95
{
96
    return -EINVAL;
97
}
98

    
99
void kvm_remove_all_breakpoints(CPUState *cpu)
100
{
101
}
102

    
103
#ifndef _WIN32
104
int kvm_set_signal_mask(CPUState *cpu, const sigset_t *sigset)
105
{
106
    abort();
107
}
108
#endif
109

    
110
int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
111
{
112
    return 1;
113
}
114

    
115
int kvm_on_sigbus(int code, void *addr)
116
{
117
    return 1;
118
}
119

    
120
#ifndef CONFIG_USER_ONLY
121
int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
122
{
123
    return -ENOSYS;
124
}
125

    
126
void kvm_init_irq_routing(KVMState *s)
127
{
128
}
129

    
130
void kvm_irqchip_release_virq(KVMState *s, int virq)
131
{
132
}
133

    
134
int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg)
135
{
136
    return -ENOSYS;
137
}
138

    
139
int kvm_irqchip_add_irqfd_notifier(KVMState *s, EventNotifier *n,
140
                                   EventNotifier *rn, int virq)
141
{
142
    return -ENOSYS;
143
}
144

    
145
int kvm_irqchip_remove_irqfd_notifier(KVMState *s, EventNotifier *n, int virq)
146
{
147
    return -ENOSYS;
148
}
149
#endif