qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/2] kvm: initialize qemu_host_page_size


From: Alex Williamson
Subject: Re: [Qemu-devel] [PATCH 1/2] kvm: initialize qemu_host_page_size
Date: Fri, 17 Jan 2014 08:34:42 -0700

On Fri, 2014-01-17 at 13:55 +0100, Paolo Bonzini wrote:
> Il 16/01/2014 07:21, Alexey Kardashevskiy ha scritto:
> > There is a HOST_PAGE_ALIGN macro which makes sense for KVM accelerator
> > but it uses qemu_host_page_size/qemu_host_page_mask which initialized
> > for TCG only.
> > 
> > This moves qemu_host_page_size/qemu_host_page_mask initialization from
> > TCG's page_init() and adds a call for it from kvm_init().
> > 
> > Signed-off-by: Alexey Kardashevskiy <address@hidden>
> > ---
> >  include/exec/exec-all.h |  1 +
> >  kvm-all.c               |  1 +
> >  translate-all.c         | 14 ++++++++------
> >  3 files changed, 10 insertions(+), 6 deletions(-)
> > 
> > diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
> > index ea90b64..3b03cbf 100644
> > --- a/include/exec/exec-all.h
> > +++ b/include/exec/exec-all.h
> > @@ -81,6 +81,7 @@ void cpu_gen_init(void);
> >  int cpu_gen_code(CPUArchState *env, struct TranslationBlock *tb,
> >                   int *gen_code_size_ptr);
> >  bool cpu_restore_state(CPUArchState *env, uintptr_t searched_pc);
> > +void page_size_init(void);
> >  
> >  void QEMU_NORETURN cpu_resume_from_signal(CPUArchState *env1, void *puc);
> >  void QEMU_NORETURN cpu_io_recompile(CPUArchState *env, uintptr_t retaddr);
> > diff --git a/kvm-all.c b/kvm-all.c
> > index 0bfb060..edf2365 100644
> > --- a/kvm-all.c
> > +++ b/kvm-all.c
> > @@ -1360,6 +1360,7 @@ int kvm_init(void)
> >       * page size for the system though.
> >       */
> >      assert(TARGET_PAGE_SIZE <= getpagesize());
> > +    page_size_init();
> >  
> >  #ifdef KVM_CAP_SET_GUEST_DEBUG
> >      QTAILQ_INIT(&s->kvm_sw_breakpoints);
> > diff --git a/translate-all.c b/translate-all.c
> > index 105c25a..543e1ff 100644
> > --- a/translate-all.c
> > +++ b/translate-all.c
> > @@ -289,17 +289,15 @@ static inline void map_exec(void *addr, long size)
> >  }
> >  #endif
> >  
> > -static void page_init(void)
> > +void page_size_init(void)
> >  {
> >      /* NOTE: we can always suppose that qemu_host_page_size >=
> >         TARGET_PAGE_SIZE */
> >  #ifdef _WIN32
> > -    {
> > -        SYSTEM_INFO system_info;
> > +    SYSTEM_INFO system_info;
> >  
> > -        GetSystemInfo(&system_info);
> > -        qemu_real_host_page_size = system_info.dwPageSize;
> > -    }
> > +    GetSystemInfo(&system_info);
> > +    qemu_real_host_page_size = system_info.dwPageSize;
> >  #else
> >      qemu_real_host_page_size = getpagesize();
> >  #endif
> > @@ -310,7 +308,11 @@ static void page_init(void)
> >          qemu_host_page_size = TARGET_PAGE_SIZE;
> >      }
> >      qemu_host_page_mask = ~(qemu_host_page_size - 1);
> > +}
> >  
> > +static void page_init(void)
> > +{
> > +    page_size_init();
> >  #if defined(CONFIG_BSD) && defined(CONFIG_USER_ONLY)
> >      {
> >  #ifdef HAVE_KINFO_GETVMMAP
> > 
> 
> Acked-by: Paolo Bonzini <address@hidden>

How should this go in?  With your ack I could include it in my vfio tree
with patch 2/2.  Sound ok?  Thanks,

Alex




reply via email to

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