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: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 1/2] kvm: initialize qemu_host_page_size
Date: Fri, 17 Jan 2014 13:55:45 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9

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>



reply via email to

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