[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 07/21] qemu-kvm: Use some more upstream prototype
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH v2 07/21] qemu-kvm: Use some more upstream prototypes |
Date: |
Wed, 3 Feb 2010 09:53:32 +0100 |
Drop our private typedef of KVMState and use more identical upstream
prototypes.
Signed-off-by: Jan Kiszka <address@hidden>
---
kvm.h | 10 +++++++---
qemu-kvm.c | 4 +++-
qemu-kvm.h | 24 +++---------------------
3 files changed, 13 insertions(+), 25 deletions(-)
diff --git a/kvm.h b/kvm.h
index 05ee540..b5ed744 100644
--- a/kvm.h
+++ b/kvm.h
@@ -32,11 +32,13 @@ struct kvm_run;
/* external API */
int kvm_init(int smp_cpus);
+#endif /* KVM_UPSTREAM */
int kvm_init_vcpu(CPUState *env);
int kvm_cpu_exec(CPUState *env);
+#ifdef KVM_UPSTREAM
void kvm_set_phys_mem(target_phys_addr_t start_addr,
ram_addr_t size,
ram_addr_t phys_offset);
@@ -47,19 +49,19 @@ int kvm_physical_sync_dirty_bitmap(target_phys_addr_t
start_addr,
int kvm_log_start(target_phys_addr_t phys_addr, ram_addr_t size);
int kvm_log_stop(target_phys_addr_t phys_addr, ram_addr_t size);
int kvm_set_migration_log(int enable);
+#endif /* KVM_UPSTREAM */
int kvm_has_sync_mmu(void);
-#endif /* KVM_UPSTREAM */
int kvm_has_vcpu_events(void);
int kvm_put_vcpu_events(CPUState *env);
int kvm_get_vcpu_events(CPUState *env);
void kvm_setup_guest_memory(void *start, size_t size);
-#ifdef KVM_UPSTREAM
int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size);
int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size);
+#ifdef KVM_UPSTREAM
int kvm_insert_breakpoint(CPUState *current_env, target_ulong addr,
target_ulong len, int type);
int kvm_remove_breakpoint(CPUState *current_env, target_ulong addr,
@@ -69,6 +71,7 @@ int kvm_update_guest_debug(CPUState *env, unsigned long
reinject_trap);
int kvm_pit_in_kernel(void);
int kvm_irqchip_in_kernel(void);
+#endif /* KVM_UPSTREAM */
/* internal API */
@@ -97,7 +100,6 @@ int kvm_arch_init(KVMState *s, int smp_cpus);
int kvm_arch_init_vcpu(CPUState *env);
-#endif
void kvm_arch_reset_vcpu(CPUState *env);
#ifdef KVM_UPSTREAM
@@ -131,9 +133,11 @@ int kvm_arch_remove_hw_breakpoint(target_ulong addr,
void kvm_arch_remove_all_hw_breakpoints(void);
void kvm_arch_update_guest_debug(CPUState *env, struct kvm_guest_debug *dbg);
+#endif
int kvm_check_extension(KVMState *s, unsigned int extension);
+#ifdef KVM_UPSTREAM
uint32_t kvm_arch_get_supported_cpuid(CPUState *env, uint32_t function,
int reg);
#endif
diff --git a/qemu-kvm.c b/qemu-kvm.c
index b153ee1..a8f02fc 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -1909,12 +1909,14 @@ static void *ap_main_loop(void *_env)
return NULL;
}
-void kvm_init_vcpu(CPUState *env)
+int kvm_init_vcpu(CPUState *env)
{
pthread_create(&env->kvm_cpu_state.thread, NULL, ap_main_loop, env);
while (env->created == 0)
qemu_cond_wait(&qemu_vcpu_cond);
+
+ return 0;
}
int kvm_vcpu_inited(CPUState *env)
diff --git a/qemu-kvm.h b/qemu-kvm.h
index de00763..b34b39f 100644
--- a/qemu-kvm.h
+++ b/qemu-kvm.h
@@ -891,7 +891,6 @@ int kvm_init_ap(void);
int kvm_vcpu_inited(CPUState *env);
void kvm_load_mpstate(CPUState *env);
void kvm_save_mpstate(CPUState *env);
-int kvm_cpu_exec(CPUState *env);
int kvm_insert_breakpoint(CPUState * current_env, target_ulong addr,
target_ulong len, int type);
int kvm_remove_breakpoint(CPUState * current_env, target_ulong addr,
@@ -933,9 +932,6 @@ void kvm_arch_save_regs(CPUState *env);
void kvm_arch_load_regs(CPUState *env);
void kvm_arch_load_mpstate(CPUState *env);
void kvm_arch_save_mpstate(CPUState *env);
-int kvm_arch_init_vcpu(CPUState *cenv);
-int kvm_arch_pre_run(CPUState *env, struct kvm_run *run);
-int kvm_arch_post_run(CPUState *env, struct kvm_run *run);
int kvm_arch_has_work(CPUState *env);
void kvm_arch_process_irqchip_events(CPUState *env);
int kvm_arch_try_push_interrupts(void *opaque);
@@ -981,8 +977,6 @@ void kvm_tpr_access_report(CPUState *env, uint64_t rip, int
is_write);
void kvm_tpr_vcpu_start(CPUState *env);
int qemu_kvm_get_dirty_pages(unsigned long phys_addr, void *buf);
-int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size);
-int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size);
int kvm_arch_init_irq_routing(void);
@@ -1021,17 +1015,14 @@ void qemu_kvm_cpu_stop(CPUState *env);
int kvm_arch_halt(CPUState *env);
int handle_tpr_access(void *opaque, CPUState *env, uint64_t rip,
int is_write);
-int kvm_has_sync_mmu(void);
#define qemu_kvm_pit_in_kernel() kvm_pit_in_kernel(kvm_context)
#define qemu_kvm_has_gsi_routing() kvm_has_gsi_routing(kvm_context)
#ifdef TARGET_I386
#define qemu_kvm_has_pit_state2() kvm_has_pit_state2(kvm_context)
#endif
-void kvm_init_vcpu(CPUState *env);
void kvm_load_tsc(CPUState *env);
#else
-#define kvm_has_sync_mmu() (0)
#define kvm_nested 0
#define qemu_kvm_pit_in_kernel() (0)
#define qemu_kvm_has_gsi_routing() (0)
@@ -1040,10 +1031,6 @@ void kvm_load_tsc(CPUState *env);
#endif
#define kvm_save_mpstate(env) do {} while(0)
#define qemu_kvm_cpu_stop(env) do {} while(0)
-static inline void kvm_init_vcpu(CPUState *env)
-{
-}
-
static inline void kvm_load_tsc(CPUState *env)
{
}
@@ -1086,7 +1073,7 @@ typedef struct KVMSlot {
typedef struct kvm_dirty_log KVMDirtyLog;
-typedef struct KVMState {
+struct KVMState {
KVMSlot slots[32];
int fd;
int vmfd;
@@ -1100,14 +1087,9 @@ typedef struct KVMState {
int irqchip_in_kernel;
struct kvm_context kvm_context;
-} KVMState;
-
-extern KVMState *kvm_state;
+};
-int kvm_ioctl(KVMState *s, int type, ...);
-int kvm_vm_ioctl(KVMState *s, int type, ...);
-int kvm_vcpu_ioctl(CPUState *env, int type, ...);
-int kvm_check_extension(KVMState *s, unsigned int ext);
+extern struct KVMState *kvm_state;
int kvm_tpr_enable_vapic(CPUState *env);
--
1.6.0.2
- [Qemu-devel] Re: [PATCH v2 01/21] qemu-kvm: Drop vmport changes, (continued)
- [Qemu-devel] [PATCH v2 02/21] KVM: Make vmport KVM-compatible, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 06/21] qemu-kvm: Use upstream kvm_setup_guest_memory, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 03/21] qemu-kvm: Clean up register access API, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 08/21] qemu-kvm: Use upstream kvm_arch_get_supported_cpuid, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 04/21] KVM: x86: Fix up misreported CPU features, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 09/21] qemu-kvm: Use upstream kvm_pit_in_kernel, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 18/21] qemu-kvm: Cleanup/fix TSC and PV clock writeback, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 10/21] KVM: Move and rename regs_modified, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 07/21] qemu-kvm: Use some more upstream prototypes,
Jan Kiszka <=
- [Qemu-devel] [PATCH v2 11/21] KVM: Rework of guest debug state writing, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 16/21] KVM: x86: Restrict writeback of VCPU state, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 05/21] qemu-kvm: Use upstream kvm_enabled and cpu_synchronize_state, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 20/21] qemu-kvm: Move kvm_set_boot_cpu_id, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 21/21] qemu-kvm: Bring qemu_init_vcpu back home, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 17/21] qemu-kvm: Use VCPU event state for reset and vmsave/load, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 15/21] qemu-kvm: Clean up mpstate synchronization, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 12/21] qemu-kvm: Use upstream kvm_vcpu_dirty, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 19/21] qemu-kvm: Clean up KVM's APIC hooks, Jan Kiszka, 2010/02/03
- [Qemu-devel] [PATCH v2 13/21] qemu-kvm: Use upstream guest debug code, Jan Kiszka, 2010/02/03