All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gleb Natapov <gleb@redhat.com>
To: Glauber Costa <glommer@redhat.com>
Cc: kvm@vger.kernel.org, avi@redhat.com
Subject: Re: [PATCH] move hlt exit to arch-specific code, and use upstream version.
Date: Tue, 20 Oct 2009 21:47:44 +0200	[thread overview]
Message-ID: <20091020194744.GG8278@redhat.com> (raw)
In-Reply-To: <1256066132-13801-1-git-send-email-glommer@redhat.com>

On Tue, Oct 20, 2009 at 05:15:32PM -0200, Glauber Costa wrote:
> HLT exit calls directly an arch-specific function. Furthermore,
> upstream qemu already places it on arch specific code, so let's follow it.
> 
> The function that handles halt itself is almost equal between them. So
> let's use it.
> 
kvm_handle_halt() may return 1. If it does kvm_arch_run() will return 1
too and kvm_run() will abort.

> Signed-off-by: Glauber Costa <glommer@redhat.com>
> ---
>  qemu-kvm-x86.c    |   14 +++-----------
>  qemu-kvm.c        |    3 ---
>  target-i386/kvm.c |    2 ++
>  3 files changed, 5 insertions(+), 14 deletions(-)
> 
> diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
> index c1d0ae9..6573dc5 100644
> --- a/qemu-kvm-x86.c
> +++ b/qemu-kvm-x86.c
> @@ -199,6 +199,9 @@ int kvm_arch_run(CPUState *env)
>  			r = kvm_handle_tpr_access(env);
>  			break;
>  #endif
> +        case KVM_EXIT_HLT:
> +            r = kvm_handle_halt(env);
> +            break;
>  		default:
>  			r = 1;
>  			break;
> @@ -1377,17 +1380,6 @@ int kvm_arch_init_vcpu(CPUState *cenv)
>      return 0;
>  }
>  
> -int kvm_arch_halt(CPUState *env)
> -{
> -
> -    if (!((env->interrupt_request & CPU_INTERRUPT_HARD) &&
> -	  (env->eflags & IF_MASK)) &&
> -	!(env->interrupt_request & CPU_INTERRUPT_NMI)) {
> -            env->halted = 1;
> -    }
> -    return 1;
> -}
> -
>  void kvm_arch_pre_kvm_run(void *opaque, CPUState *env)
>  {
>      if (!kvm_irqchip_in_kernel())
> diff --git a/qemu-kvm.c b/qemu-kvm.c
> index b8ae4d8..42ead38 100644
> --- a/qemu-kvm.c
> +++ b/qemu-kvm.c
> @@ -1002,9 +1002,6 @@ int kvm_run(CPUState *env)
>          case KVM_EXIT_MMIO:
>              r = handle_mmio(env);
>              break;
> -        case KVM_EXIT_HLT:
> -            r = kvm_arch_halt(env);
> -            break;
>          case KVM_EXIT_IRQ_WINDOW_OPEN:
>              break;
>          case KVM_EXIT_SHUTDOWN:
> diff --git a/target-i386/kvm.c b/target-i386/kvm.c
> index 1cf0dc3..de10ef1 100644
> --- a/target-i386/kvm.c
> +++ b/target-i386/kvm.c
> @@ -761,6 +761,7 @@ int kvm_arch_post_run(CPUState *env, struct kvm_run *run)
>  
>      return 0;
>  }
> +#endif
>  
>  static int kvm_handle_halt(CPUState *env)
>  {
> @@ -775,6 +776,7 @@ static int kvm_handle_halt(CPUState *env)
>      return 1;
>  }
>  
> +#ifdef KVM_UPSTREAM
>  int kvm_arch_handle_exit(CPUState *env, struct kvm_run *run)
>  {
>      int ret = 0;
> -- 
> 1.6.2.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
			Gleb.

  reply	other threads:[~2009-10-20 19:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-20 19:15 [PATCH] move hlt exit to arch-specific code, and use upstream version Glauber Costa
2009-10-20 19:47 ` Gleb Natapov [this message]
2009-10-20 19:56   ` Glauber Costa
2009-10-20 20:05     ` Gleb Natapov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091020194744.GG8278@redhat.com \
    --to=gleb@redhat.com \
    --cc=avi@redhat.com \
    --cc=glommer@redhat.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.