qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 03/19] cpu: make kvm-stub.o a part of CPU librar


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH 03/19] cpu: make kvm-stub.o a part of CPU library
Date: Fri, 12 Apr 2013 16:25:11 -0300
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Apr 12, 2013 at 01:17:32PM +0200, Igor Mammedov wrote:
[...]
> > 
> > >  #include "qemu-common.h"
> > >  #include "hw/pci/pci.h"
> > >  
> > > @@ -47,4 +48,5 @@ static inline bool msi_present(const PCIDevice *dev)
> > >      return dev->cap_present & QEMU_PCI_CAP_MSI;
> > >  }
> > >  
> > > +#endif
> > >  #endif /* QEMU_MSI_H */
> > > diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
> > > index 495e6f8..93cef28 100644
> > > --- a/include/sysemu/kvm.h
> > > +++ b/include/sysemu/kvm.h
> > > @@ -144,10 +144,10 @@ int kvm_cpu_exec(CPUArchState *env);
> > >  #if !defined(CONFIG_USER_ONLY)
> > >  void *kvm_vmalloc(ram_addr_t size);
> > >  void *kvm_arch_vmalloc(ram_addr_t size);
> > > -void kvm_setup_guest_memory(void *start, size_t size);
> > > +#endif
> > >  
> > > +void kvm_setup_guest_memory(void *start, size_t size);
> > >  void kvm_flush_coalesced_mmio_buffer(void);
> > > -#endif
> > >  
> > >  int kvm_insert_breakpoint(CPUArchState *current_env, target_ulong addr,
> > >                            target_ulong len, int type);
> > > diff --git a/kvm-stub.c b/kvm-stub.c
> > > index 82875dd..b34064a 100644
> > > --- a/kvm-stub.c
> > > +++ b/kvm-stub.c
> > > @@ -122,6 +122,7 @@ int kvm_on_sigbus(int code, void *addr)
> > >      return 1;
> > >  }
> > >  
> > > +#ifndef CONFIG_USER_ONLY
> > >  int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
> > >  {
> > >      return -ENOSYS;
> > > @@ -145,3 +146,4 @@ int kvm_irqchip_remove_irqfd_notifier(KVMState *s, 
> > > EventNotifier *n, int virq)
> > >  {
> > >      return -ENOSYS;
> > >  }
> > > +#endif
> > 
> > What about making MSIMessage definition available on CONFIG_USER_ONLY,
> > so we don't even need to #ifdef this part?
> 
> it might work, but it causes #includes split which I don't like much.
> Anyway here is patch on top of this one. If it looks more acceptable to you
> this way, I'll merge it.

OK, I believe I prefer your original patch. :-)

Having extra CONFIG_USER_ONLY #ifdefs in kvm-stub.c sounds simpler and
better than reordering #include lines to appear below declarations in
pci/msi.h like you did below.


> 
> ---
> 
> diff --git a/include/hw/pci/msi.h b/include/hw/pci/msi.h
> index d4d0450..c159a15 100644
> --- a/include/hw/pci/msi.h
> +++ b/include/hw/pci/msi.h
> @@ -21,15 +21,15 @@
>  #ifndef QEMU_MSI_H
>  #define QEMU_MSI_H
>  
> -#ifndef CONFIG_USER_ONLY
>  #include "qemu-common.h"

By the way, have you tried to eliminate the qemu-common.h include above?
(not important now, but asking just in case you have tried and found issues)

> -#include "hw/pci/pci.h"
>  
>  struct MSIMessage {
>      uint64_t address;
>      uint32_t data;
>  };
>  
> +#ifndef CONFIG_USER_ONLY
> +#include "hw/pci/pci.h"
>  extern bool msi_supported;
>  
>  void msi_set_message(PCIDevice *dev, MSIMessage msg);
> diff --git a/kvm-stub.c b/kvm-stub.c
> index 8cb81c4..b5d4446 100644
> --- a/kvm-stub.c
> +++ b/kvm-stub.c
> @@ -123,7 +123,6 @@ int kvm_on_sigbus(int code, void *addr)
>      return 1;
>  }
>  
> -#ifndef CONFIG_USER_ONLY
>  int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
>  {
>      return -ENOSYS;
> @@ -147,4 +146,3 @@ int kvm_irqchip_remove_irqfd_notifier(KVMState *s, 
> EventNotifier *n, int virq)
>  {
>      return -ENOSYS;
>  }
> -#endif
> 
> > 
> > -- 
> > Eduardo
> 
> 
> -- 
> Regards,
>   Igor

-- 
Eduardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]