~ubuntu-branches/ubuntu/natty/qemu-linaro/natty

« back to all changes in this revision

Viewing changes to kvm.h

  • Committer: Package Import Robot
  • Author(s): Steve Langasek, Loïc Minier, Steve Langasek
  • Date: 2011-03-07 22:55:03 UTC
  • Revision ID: package-import@ubuntu.com-20110307225503-3opjapw0ksg7glo6
[ Loïc Minier ]
* Also pass -fno-var-tracking on armhf.

[ Steve Langasek ]
* New upstream release.
* Build with -marm on armel/armhf; Peter Maydell reports that building for
  Thumb-2 gives an emulator that doesn't work.
* Add support for cross-compiling the package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
 
33
33
struct kvm_run;
34
34
 
 
35
typedef struct KVMCapabilityInfo {
 
36
    const char *name;
 
37
    int value;
 
38
} KVMCapabilityInfo;
 
39
 
 
40
#define KVM_CAP_INFO(CAP) { "KVM_CAP_" stringify(CAP), KVM_CAP_##CAP }
 
41
#define KVM_CAP_LAST_INFO { NULL, 0 }
 
42
 
35
43
/* external API */
36
44
 
37
 
int kvm_init(int smp_cpus);
 
45
int kvm_init(void);
38
46
 
39
47
int kvm_has_sync_mmu(void);
40
48
int kvm_has_vcpu_events(void);
50
58
int kvm_cpu_exec(CPUState *env);
51
59
 
52
60
#if !defined(CONFIG_USER_ONLY)
53
 
int kvm_log_start(target_phys_addr_t phys_addr, ram_addr_t size);
54
 
int kvm_log_stop(target_phys_addr_t phys_addr, ram_addr_t size);
55
 
 
56
61
void kvm_setup_guest_memory(void *start, size_t size);
57
62
 
58
63
int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size);
73
78
int kvm_pit_in_kernel(void);
74
79
int kvm_irqchip_in_kernel(void);
75
80
 
 
81
int kvm_on_sigbus_vcpu(CPUState *env, int code, void *addr);
 
82
int kvm_on_sigbus(int code, void *addr);
 
83
 
76
84
/* internal API */
77
85
 
78
86
struct KVMState;
79
87
typedef struct KVMState KVMState;
 
88
extern KVMState *kvm_state;
80
89
 
81
90
int kvm_ioctl(KVMState *s, int type, ...);
82
91
 
86
95
 
87
96
/* Arch specific hooks */
88
97
 
89
 
int kvm_arch_post_run(CPUState *env, struct kvm_run *run);
 
98
extern const KVMCapabilityInfo kvm_arch_required_capabilities[];
 
99
 
 
100
void kvm_arch_pre_run(CPUState *env, struct kvm_run *run);
 
101
void kvm_arch_post_run(CPUState *env, struct kvm_run *run);
90
102
 
91
103
int kvm_arch_handle_exit(CPUState *env, struct kvm_run *run);
92
104
 
93
 
int kvm_arch_pre_run(CPUState *env, struct kvm_run *run);
94
 
 
95
105
int kvm_arch_process_irqchip_events(CPUState *env);
96
106
 
97
107
int kvm_arch_get_registers(CPUState *env);
105
115
 
106
116
int kvm_arch_put_registers(CPUState *env, int level);
107
117
 
108
 
int kvm_arch_init(KVMState *s, int smp_cpus);
 
118
int kvm_arch_init(KVMState *s);
109
119
 
110
120
int kvm_arch_init_vcpu(CPUState *env);
111
121
 
112
122
void kvm_arch_reset_vcpu(CPUState *env);
113
123
 
114
 
int kvm_on_sigbus_vcpu(CPUState *env, int code, void *addr);
115
 
int kvm_on_sigbus(int code, void *addr);
 
124
int kvm_arch_on_sigbus_vcpu(CPUState *env, int code, void *addr);
 
125
int kvm_arch_on_sigbus(int code, void *addr);
116
126
 
117
127
struct kvm_guest_debug;
118
128
struct kvm_debug_exit_arch;