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

Reply via email to