All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoffer Dall <christoffer.dall@linaro.org>
To: Mark Rutland <mark.rutland@arm.com>
Cc: marc.zyngier@arm.com, catalin.marinas@arm.com,
	will.deacon@arm.com, kvmarm@lists.cs.columbia.edu,
	shijie.huang@arm.com, dave.martin@arm.com,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/3] arm64/kvm: use ESR_ELx_EC to extract EC
Date: Tue, 31 May 2016 16:35:28 +0200	[thread overview]
Message-ID: <20160531143528.GC12568@cbox> (raw)
In-Reply-To: <1464694383-31700-3-git-send-email-mark.rutland@arm.com>

On Tue, May 31, 2016 at 12:33:02PM +0100, Mark Rutland wrote:
> Now that we have a helper to extract the EC from an ESR_ELx value, make
> use of this in the arm64 KVM code for simplicity and consistency. There
> should be no functional changes as a result of this patch.
> 
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Christoffer Dall <christoffer.dall@linaro.org>
> Cc: Dave P Martin <dave.martin@arm.com>
> Cc: Huang Shijie <shijie.huang@arm.com>
> Cc: James Morse <james.morse@arm.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: kvmarm@lists.cs.columbia.edu

Acked-by: Christoffer Dall <christoffer.dall@linaro.org>

> ---
>  arch/arm64/include/asm/kvm_emulate.h | 2 +-
>  arch/arm64/kvm/handle_exit.c         | 4 ++--
>  arch/arm64/kvm/hyp/switch.c          | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/kvm_emulate.h b/arch/arm64/include/asm/kvm_emulate.h
> index 40bc168..4cdeae3 100644
> --- a/arch/arm64/include/asm/kvm_emulate.h
> +++ b/arch/arm64/include/asm/kvm_emulate.h
> @@ -210,7 +210,7 @@ static inline bool kvm_vcpu_trap_il_is32bit(const struct kvm_vcpu *vcpu)
>  
>  static inline u8 kvm_vcpu_trap_get_class(const struct kvm_vcpu *vcpu)
>  {
> -	return kvm_vcpu_get_hsr(vcpu) >> ESR_ELx_EC_SHIFT;
> +	return ESR_ELx_EC(kvm_vcpu_get_hsr(vcpu));
>  }
>  
>  static inline bool kvm_vcpu_trap_is_iabt(const struct kvm_vcpu *vcpu)
> diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c
> index 3246c4a..fa96fe2 100644
> --- a/arch/arm64/kvm/handle_exit.c
> +++ b/arch/arm64/kvm/handle_exit.c
> @@ -106,7 +106,7 @@ static int kvm_handle_guest_debug(struct kvm_vcpu *vcpu, struct kvm_run *run)
>  	run->exit_reason = KVM_EXIT_DEBUG;
>  	run->debug.arch.hsr = hsr;
>  
> -	switch (hsr >> ESR_ELx_EC_SHIFT) {
> +	switch (ESR_ELx_EC(hsr)) {
>  	case ESR_ELx_EC_WATCHPT_LOW:
>  		run->debug.arch.far = vcpu->arch.fault.far_el2;
>  		/* fall through */
> @@ -149,7 +149,7 @@ static exit_handle_fn arm_exit_handlers[] = {
>  static exit_handle_fn kvm_get_exit_handler(struct kvm_vcpu *vcpu)
>  {
>  	u32 hsr = kvm_vcpu_get_hsr(vcpu);
> -	u8 hsr_ec = hsr >> ESR_ELx_EC_SHIFT;
> +	u8 hsr_ec = ESR_ELx_EC(hsr);
>  
>  	if (hsr_ec >= ARRAY_SIZE(arm_exit_handlers) ||
>  	    !arm_exit_handlers[hsr_ec]) {
> diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c
> index 437cfad..4373997 100644
> --- a/arch/arm64/kvm/hyp/switch.c
> +++ b/arch/arm64/kvm/hyp/switch.c
> @@ -198,7 +198,7 @@ static bool __hyp_text __translate_far_to_hpfar(u64 far, u64 *hpfar)
>  static bool __hyp_text __populate_fault_info(struct kvm_vcpu *vcpu)
>  {
>  	u64 esr = read_sysreg_el2(esr);
> -	u8 ec = esr >> ESR_ELx_EC_SHIFT;
> +	u8 ec = ESR_ELx_EC(esr);
>  	u64 hpfar, far;
>  
>  	vcpu->arch.fault.esr_el2 = esr;
> -- 
> 1.9.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/3] arm64/kvm: use ESR_ELx_EC to extract EC
Date: Tue, 31 May 2016 16:35:28 +0200	[thread overview]
Message-ID: <20160531143528.GC12568@cbox> (raw)
In-Reply-To: <1464694383-31700-3-git-send-email-mark.rutland@arm.com>

On Tue, May 31, 2016 at 12:33:02PM +0100, Mark Rutland wrote:
> Now that we have a helper to extract the EC from an ESR_ELx value, make
> use of this in the arm64 KVM code for simplicity and consistency. There
> should be no functional changes as a result of this patch.
> 
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Christoffer Dall <christoffer.dall@linaro.org>
> Cc: Dave P Martin <dave.martin@arm.com>
> Cc: Huang Shijie <shijie.huang@arm.com>
> Cc: James Morse <james.morse@arm.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: Will Deacon <will.deacon@arm.com>
> Cc: kvmarm at lists.cs.columbia.edu

Acked-by: Christoffer Dall <christoffer.dall@linaro.org>

> ---
>  arch/arm64/include/asm/kvm_emulate.h | 2 +-
>  arch/arm64/kvm/handle_exit.c         | 4 ++--
>  arch/arm64/kvm/hyp/switch.c          | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/kvm_emulate.h b/arch/arm64/include/asm/kvm_emulate.h
> index 40bc168..4cdeae3 100644
> --- a/arch/arm64/include/asm/kvm_emulate.h
> +++ b/arch/arm64/include/asm/kvm_emulate.h
> @@ -210,7 +210,7 @@ static inline bool kvm_vcpu_trap_il_is32bit(const struct kvm_vcpu *vcpu)
>  
>  static inline u8 kvm_vcpu_trap_get_class(const struct kvm_vcpu *vcpu)
>  {
> -	return kvm_vcpu_get_hsr(vcpu) >> ESR_ELx_EC_SHIFT;
> +	return ESR_ELx_EC(kvm_vcpu_get_hsr(vcpu));
>  }
>  
>  static inline bool kvm_vcpu_trap_is_iabt(const struct kvm_vcpu *vcpu)
> diff --git a/arch/arm64/kvm/handle_exit.c b/arch/arm64/kvm/handle_exit.c
> index 3246c4a..fa96fe2 100644
> --- a/arch/arm64/kvm/handle_exit.c
> +++ b/arch/arm64/kvm/handle_exit.c
> @@ -106,7 +106,7 @@ static int kvm_handle_guest_debug(struct kvm_vcpu *vcpu, struct kvm_run *run)
>  	run->exit_reason = KVM_EXIT_DEBUG;
>  	run->debug.arch.hsr = hsr;
>  
> -	switch (hsr >> ESR_ELx_EC_SHIFT) {
> +	switch (ESR_ELx_EC(hsr)) {
>  	case ESR_ELx_EC_WATCHPT_LOW:
>  		run->debug.arch.far = vcpu->arch.fault.far_el2;
>  		/* fall through */
> @@ -149,7 +149,7 @@ static exit_handle_fn arm_exit_handlers[] = {
>  static exit_handle_fn kvm_get_exit_handler(struct kvm_vcpu *vcpu)
>  {
>  	u32 hsr = kvm_vcpu_get_hsr(vcpu);
> -	u8 hsr_ec = hsr >> ESR_ELx_EC_SHIFT;
> +	u8 hsr_ec = ESR_ELx_EC(hsr);
>  
>  	if (hsr_ec >= ARRAY_SIZE(arm_exit_handlers) ||
>  	    !arm_exit_handlers[hsr_ec]) {
> diff --git a/arch/arm64/kvm/hyp/switch.c b/arch/arm64/kvm/hyp/switch.c
> index 437cfad..4373997 100644
> --- a/arch/arm64/kvm/hyp/switch.c
> +++ b/arch/arm64/kvm/hyp/switch.c
> @@ -198,7 +198,7 @@ static bool __hyp_text __translate_far_to_hpfar(u64 far, u64 *hpfar)
>  static bool __hyp_text __populate_fault_info(struct kvm_vcpu *vcpu)
>  {
>  	u64 esr = read_sysreg_el2(esr);
> -	u8 ec = esr >> ESR_ELx_EC_SHIFT;
> +	u8 ec = ESR_ELx_EC(esr);
>  	u64 hpfar, far;
>  
>  	vcpu->arch.fault.esr_el2 = esr;
> -- 
> 1.9.1
> 

  reply	other threads:[~2016-05-31 14:31 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-31 11:33 [PATCH 0/3] arm64: Kill ESR_LNX_EXEC Mark Rutland
2016-05-31 11:33 ` Mark Rutland
2016-05-31 11:33 ` [PATCH 1/3] arm64: add macro to extract ESR_ELx.EC Mark Rutland
2016-05-31 11:33   ` Mark Rutland
2016-05-31 11:33 ` [PATCH 2/3] arm64/kvm: use ESR_ELx_EC to extract EC Mark Rutland
2016-05-31 11:33   ` Mark Rutland
2016-05-31 14:35   ` Christoffer Dall [this message]
2016-05-31 14:35     ` Christoffer Dall
2016-05-31 11:33 ` [PATCH 3/3] arm64: kill ESR_LNX_EXEC Mark Rutland
2016-05-31 11:33   ` Mark Rutland
2016-05-31 16:53 ` [PATCH 0/3] arm64: Kill ESR_LNX_EXEC Catalin Marinas
2016-05-31 16:53   ` Catalin Marinas
2016-06-02 18:21   ` Will Deacon
2016-06-02 18:21     ` Will Deacon
2016-06-06 10:59     ` Mark Rutland
2016-06-06 10:59       ` Mark Rutland
2016-06-21 16:09 ` Catalin Marinas
2016-06-21 16:09   ` Catalin Marinas

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=20160531143528.GC12568@cbox \
    --to=christoffer.dall@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=dave.martin@arm.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=shijie.huang@arm.com \
    --cc=will.deacon@arm.com \
    /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.