Statistics
| Branch: | Revision:

root / kvm-stub.c @ 1d5791f4

History | View | Annotate | Download (2.3 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_allowed;
29
bool kvm_readonly_mem_allowed;
30

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

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

    
41
void kvm_flush_coalesced_mmio_buffer(void)
42
{
43
}
44

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

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

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

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

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

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

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

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

    
81
int kvm_update_guest_debug(CPUArchState *env, unsigned long reinject_trap)
82
{
83
    return -ENOSYS;
84
}
85

    
86
int kvm_insert_breakpoint(CPUArchState *env, target_ulong addr,
87
                          target_ulong len, int type)
88
{
89
    return -EINVAL;
90
}
91

    
92
int kvm_remove_breakpoint(CPUArchState *env, target_ulong addr,
93
                          target_ulong len, int type)
94
{
95
    return -EINVAL;
96
}
97

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

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

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

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

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

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

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

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

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

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