Avi Kivity wrote:
> Philippe Gerum wrote:
>> static void vga_map(PCIDevice *pci_dev, int region_num,
>> uint32_t addr, uint32_t size, int type)
>> diff --git a/qemu/qemu-kvm.h b/qemu/qemu-kvm.h
>> index 7e28428..9ba81a3 100644
>> --- a/qemu/qemu-kvm.h
>> +++ b/qemu/qemu-kvm.h
>> @@ -114,6 +114,10 @@ extern kvm_context_t kvm_context;
>> #define kvm_enabled() (0)
>> #define qemu_kvm_irqchip_in_kernel() (0)
>> #define qemu_kvm_pit_in_kernel() (0)
>> +#define qemu_kvm_cpu_env(cpu) ({ (void)cpu; NULL; })
>> +#define kvm_save_registers(cpu) do { (void)cpu; } while(0)
>> +#define kvm_load_registers(env) do { (void)env; } while(0)
>> +#define kvm_init_new_ap(cpu, env) do { (void)cpu; (void)env; }
>> while(0)
>> #endif
>>
>>
>
> Please use static inline functions rather #defines, especially with
> those statement expressions.
>
Here is a better patch. Hopefully.
Signed-off-by: Philippe Gerum <[EMAIL PROTECTED]>
---
qemu/gdbstub.c | 2 +-
qemu/hw/acpi.c | 6 +-----
qemu/hw/vga.c | 2 ++
qemu/qemu-kvm.h | 33 ++++++++++++++++++++++++++-------
4 files changed, 30 insertions(+), 13 deletions(-)
diff --git a/qemu/gdbstub.c b/qemu/gdbstub.c
index d828844..2af7830 100644
--- a/qemu/gdbstub.c
+++ b/qemu/gdbstub.c
@@ -33,8 +33,8 @@
#include "qemu-char.h"
#include "sysemu.h"
#include "gdbstub.h"
-#include "qemu-kvm.h"
#endif
+#include "qemu-kvm.h"
#include "qemu_socket.h"
#ifdef _WIN32
diff --git a/qemu/hw/acpi.c b/qemu/hw/acpi.c
index e3cd8d7..35bac86 100644
--- a/qemu/hw/acpi.c
+++ b/qemu/hw/acpi.c
@@ -23,10 +23,8 @@
#include "sysemu.h"
#include "i2c.h"
#include "smbus.h"
-#ifdef USE_KVM
-#include "qemu-kvm.h"
-#endif
#include "string.h"
+#include "qemu-kvm.h"
//#define DEBUG
@@ -723,9 +721,7 @@ void qemu_system_cpu_hot_add(int cpu, int state)
fprintf(stderr, "cpu %d creation failed\n", cpu);
return;
}
-#ifdef USE_KVM
kvm_init_new_ap(cpu, env);
-#endif
}
qemu_set_irq(pm_state->irq, 1);
diff --git a/qemu/hw/vga.c b/qemu/hw/vga.c
index 95d6033..f5c472c 100644
--- a/qemu/hw/vga.c
+++ b/qemu/hw/vga.c
@@ -1981,6 +1981,7 @@ typedef struct PCIVGAState {
VGAState vga_state;
} PCIVGAState;
+#ifdef USE_KVM
void vga_update_vram_mapping(VGAState *s, unsigned long vga_ram_begin,
unsigned long vga_ram_end)
{
@@ -2010,6 +2011,7 @@ void vga_update_vram_mapping(VGAState *s, unsigned long
vga_ram_begin,
s->map_end = vga_ram_end;
}
}
+#endif
static void vga_map(PCIDevice *pci_dev, int region_num,
uint32_t addr, uint32_t size, int type)
diff --git a/qemu/qemu-kvm.h b/qemu/qemu-kvm.h
index 7e28428..e4b5e16 100644
--- a/qemu/qemu-kvm.h
+++ b/qemu/qemu-kvm.h
@@ -15,11 +15,8 @@
int kvm_main_loop(void);
int kvm_qemu_init(void);
int kvm_qemu_create_context(void);
-void kvm_init_new_ap(int cpu, CPUState *env);
int kvm_init_ap(void);
void kvm_qemu_destroy(void);
-void kvm_load_registers(CPUState *env);
-void kvm_save_registers(CPUState *env);
void kvm_load_mpstate(CPUState *env);
void kvm_save_mpstate(CPUState *env);
int kvm_cpu_exec(CPUState *env);
@@ -59,8 +56,6 @@ int kvm_arch_try_push_interrupts(void *opaque);
void kvm_arch_update_regs_for_sipi(CPUState *env);
void kvm_arch_cpu_reset(CPUState *env);
-CPUState *qemu_kvm_cpu_env(int index);
-
void qemu_kvm_aio_wait_start(void);
void qemu_kvm_aio_wait(void);
void qemu_kvm_aio_wait_end(void);
@@ -110,11 +105,35 @@ extern kvm_context_t kvm_context;
#define kvm_enabled() (kvm_allowed)
#define qemu_kvm_irqchip_in_kernel() kvm_irqchip_in_kernel(kvm_context)
#define qemu_kvm_pit_in_kernel() kvm_pit_in_kernel(kvm_context)
-#else
+
+CPUState *qemu_kvm_cpu_env(int index);
+void kvm_load_registers(CPUState *env);
+void kvm_save_registers(CPUState *env);
+void kvm_init_new_ap(int cpu, CPUState *env);
+
+#else /* !USE_KVM */
+
#define kvm_enabled() (0)
#define qemu_kvm_irqchip_in_kernel() (0)
#define qemu_kvm_pit_in_kernel() (0)
-#endif
+
+static inline CPUState *qemu_kvm_cpu_env(int index)
+{
+ return NULL;
+}
+
+static inline void kvm_save_registers(CPUState *env)
+{
+}
+
+static inline void kvm_load_registers(CPUState *env)
+{
+}
+
+static inline void kvm_init_new_ap(int cpu, CPUState *env)
+{
+}
+#endif /* USE_KVM */
void kvm_mutex_unlock(void);
void kvm_mutex_lock(void);
--
1.5.4.3
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html