Statistics
| Branch: | Revision:

root / kvm-stub.c @ 60e1b2a6

History | View | Annotate | Download (2.1 kB)

1 98c8573e Paolo Bonzini
/*
2 98c8573e Paolo Bonzini
 * QEMU KVM stub
3 98c8573e Paolo Bonzini
 *
4 98c8573e Paolo Bonzini
 * Copyright Red Hat, Inc. 2010
5 98c8573e Paolo Bonzini
 *
6 98c8573e Paolo Bonzini
 * Author: Paolo Bonzini     <pbonzini@redhat.com>
7 98c8573e Paolo Bonzini
 *
8 98c8573e Paolo Bonzini
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
9 98c8573e Paolo Bonzini
 * See the COPYING file in the top-level directory.
10 98c8573e Paolo Bonzini
 *
11 98c8573e Paolo Bonzini
 */
12 98c8573e Paolo Bonzini
13 98c8573e Paolo Bonzini
#include "qemu-common.h"
14 98c8573e Paolo Bonzini
#include "hw/hw.h"
15 2b41f10e Blue Swirl
#include "cpu.h"
16 98c8573e Paolo Bonzini
#include "gdbstub.h"
17 98c8573e Paolo Bonzini
#include "kvm.h"
18 98c8573e Paolo Bonzini
19 98c8573e Paolo Bonzini
int kvm_pit_in_kernel(void)
20 98c8573e Paolo Bonzini
{
21 98c8573e Paolo Bonzini
    return 0;
22 98c8573e Paolo Bonzini
}
23 98c8573e Paolo Bonzini
24 98c8573e Paolo Bonzini
25 98c8573e Paolo Bonzini
int kvm_init_vcpu(CPUState *env)
26 98c8573e Paolo Bonzini
{
27 98c8573e Paolo Bonzini
    return -ENOSYS;
28 98c8573e Paolo Bonzini
}
29 98c8573e Paolo Bonzini
30 98c8573e Paolo Bonzini
int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
31 98c8573e Paolo Bonzini
{
32 98c8573e Paolo Bonzini
    return -ENOSYS;
33 98c8573e Paolo Bonzini
}
34 98c8573e Paolo Bonzini
35 98c8573e Paolo Bonzini
int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
36 98c8573e Paolo Bonzini
{
37 98c8573e Paolo Bonzini
    return -ENOSYS;
38 98c8573e Paolo Bonzini
}
39 98c8573e Paolo Bonzini
40 cad1e282 Jan Kiszka
int kvm_init(void)
41 98c8573e Paolo Bonzini
{
42 98c8573e Paolo Bonzini
    return -ENOSYS;
43 98c8573e Paolo Bonzini
}
44 98c8573e Paolo Bonzini
45 98c8573e Paolo Bonzini
void kvm_flush_coalesced_mmio_buffer(void)
46 98c8573e Paolo Bonzini
{
47 98c8573e Paolo Bonzini
}
48 98c8573e Paolo Bonzini
49 98c8573e Paolo Bonzini
void kvm_cpu_synchronize_state(CPUState *env)
50 98c8573e Paolo Bonzini
{
51 98c8573e Paolo Bonzini
}
52 98c8573e Paolo Bonzini
53 98c8573e Paolo Bonzini
void kvm_cpu_synchronize_post_reset(CPUState *env)
54 98c8573e Paolo Bonzini
{
55 98c8573e Paolo Bonzini
}
56 98c8573e Paolo Bonzini
57 98c8573e Paolo Bonzini
void kvm_cpu_synchronize_post_init(CPUState *env)
58 98c8573e Paolo Bonzini
{
59 98c8573e Paolo Bonzini
}
60 98c8573e Paolo Bonzini
61 98c8573e Paolo Bonzini
int kvm_cpu_exec(CPUState *env)
62 98c8573e Paolo Bonzini
{
63 98c8573e Paolo Bonzini
    abort ();
64 98c8573e Paolo Bonzini
}
65 98c8573e Paolo Bonzini
66 98c8573e Paolo Bonzini
int kvm_has_sync_mmu(void)
67 98c8573e Paolo Bonzini
{
68 98c8573e Paolo Bonzini
    return 0;
69 98c8573e Paolo Bonzini
}
70 98c8573e Paolo Bonzini
71 d2f2b8a7 Stefan Hajnoczi
int kvm_has_many_ioeventfds(void)
72 d2f2b8a7 Stefan Hajnoczi
{
73 d2f2b8a7 Stefan Hajnoczi
    return 0;
74 d2f2b8a7 Stefan Hajnoczi
}
75 d2f2b8a7 Stefan Hajnoczi
76 9b5b76d4 Jan Kiszka
int kvm_allows_irq0_override(void)
77 9b5b76d4 Jan Kiszka
{
78 9b5b76d4 Jan Kiszka
    return 1;
79 9b5b76d4 Jan Kiszka
}
80 9b5b76d4 Jan Kiszka
81 8a7c7393 Jan Kiszka
int kvm_has_pit_state2(void)
82 8a7c7393 Jan Kiszka
{
83 8a7c7393 Jan Kiszka
    return 0;
84 8a7c7393 Jan Kiszka
}
85 8a7c7393 Jan Kiszka
86 98c8573e Paolo Bonzini
void kvm_setup_guest_memory(void *start, size_t size)
87 98c8573e Paolo Bonzini
{
88 98c8573e Paolo Bonzini
}
89 98c8573e Paolo Bonzini
90 98c8573e Paolo Bonzini
int kvm_update_guest_debug(CPUState *env, unsigned long reinject_trap)
91 98c8573e Paolo Bonzini
{
92 4bef75b5 Jan Kiszka
    return -ENOSYS;
93 98c8573e Paolo Bonzini
}
94 98c8573e Paolo Bonzini
95 98c8573e Paolo Bonzini
int kvm_insert_breakpoint(CPUState *current_env, target_ulong addr,
96 98c8573e Paolo Bonzini
                          target_ulong len, int type)
97 98c8573e Paolo Bonzini
{
98 98c8573e Paolo Bonzini
    return -EINVAL;
99 98c8573e Paolo Bonzini
}
100 98c8573e Paolo Bonzini
101 98c8573e Paolo Bonzini
int kvm_remove_breakpoint(CPUState *current_env, target_ulong addr,
102 98c8573e Paolo Bonzini
                          target_ulong len, int type)
103 98c8573e Paolo Bonzini
{
104 98c8573e Paolo Bonzini
    return -EINVAL;
105 98c8573e Paolo Bonzini
}
106 98c8573e Paolo Bonzini
107 98c8573e Paolo Bonzini
void kvm_remove_all_breakpoints(CPUState *current_env)
108 98c8573e Paolo Bonzini
{
109 98c8573e Paolo Bonzini
}
110 98c8573e Paolo Bonzini
111 98c8573e Paolo Bonzini
#ifndef _WIN32
112 98c8573e Paolo Bonzini
int kvm_set_signal_mask(CPUState *env, const sigset_t *sigset)
113 98c8573e Paolo Bonzini
{
114 98c8573e Paolo Bonzini
    abort();
115 98c8573e Paolo Bonzini
}
116 98c8573e Paolo Bonzini
#endif
117 98c8573e Paolo Bonzini
118 98c8573e Paolo Bonzini
int kvm_set_ioeventfd_pio_word(int fd, uint16_t addr, uint16_t val, bool assign)
119 98c8573e Paolo Bonzini
{
120 98c8573e Paolo Bonzini
    return -ENOSYS;
121 98c8573e Paolo Bonzini
}
122 1fd74012 Cam Macdonell
123 1fd74012 Cam Macdonell
int kvm_set_ioeventfd_mmio_long(int fd, uint32_t adr, uint32_t val, bool assign)
124 1fd74012 Cam Macdonell
{
125 1fd74012 Cam Macdonell
    return -ENOSYS;
126 1fd74012 Cam Macdonell
}
127 c0532a76 Marcelo Tosatti
128 a1b87fe0 Jan Kiszka
int kvm_on_sigbus_vcpu(CPUState *env, int code, void *addr)
129 a1b87fe0 Jan Kiszka
{
130 a1b87fe0 Jan Kiszka
    return 1;
131 a1b87fe0 Jan Kiszka
}
132 a1b87fe0 Jan Kiszka
133 c0532a76 Marcelo Tosatti
int kvm_on_sigbus(int code, void *addr)
134 c0532a76 Marcelo Tosatti
{
135 c0532a76 Marcelo Tosatti
    return 1;
136 c0532a76 Marcelo Tosatti
}