All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Baicar, Tyler" <tbaicar@codeaurora.org>
To: gengdongjiu <gengdongjiu@huawei.com>,
	christoffer.dall@linaro.org, marc.zyngier@arm.com,
	pbonzini@redhat.com, rkrcmar@redhat.com, linux@armlinux.org.uk,
	catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net,
	lenb@kernel.org, matt@codeblueprint.co.uk,
	robert.moore@intel.com, lv.zheng@intel.com, nkaje@codeaurora.org,
	zjzhang@codeaurora.org, mark.rutland@arm.com,
	james.morse@arm.com, akpm@linux-foundation.org,
	eun.taik.lee@samsung.com, sandeepa.s.prabhu@gmail.com,
	labbott@redhat.com, shijie.huang@arm.com,
	rruigrok@codeaurora.org, paul.gortmaker@windriver.com,
	tn@semihalf.com, fu.wei@linaro.org, rostedt@goodmis.org,
	bristot@redhat.com, linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-efi@vger.kernel.org, devel@acpica.org,
	Suzuki.Poulose@arm.com, punit.agrawal@arm
Subject: Re: [PATCH V13 10/10] arm/arm64: KVM: add guest SEA support
Date: Tue, 28 Mar 2017 10:44:48 -0600	[thread overview]
Message-ID: <35db9a6e-7ae3-3326-db1c-5cfff9ea27f3@codeaurora.org> (raw)
In-Reply-To: <5c7f6092-9358-08ac-5341-2364637c2008@huawei.com>

Hello,


On 3/28/2017 3:53 AM, gengdongjiu wrote:
> Hi,
>
> On 2017/3/22 6:47, Tyler Baicar wrote:
>> +	fault_ipa = kvm_vcpu_get_fault_ipa(vcpu);
>> +
>> +	/* The host kernel will handle the synchronous external abort. There
>> +	 * is no need to pass the error into the guest.
>> +	 */
>> +	if (is_abort_synchronous(fault_status))
>> +		sea_status = handle_guest_sea((unsigned long)fault_ipa,
>> +				    kvm_vcpu_get_hsr(vcpu));
>>   
>>   	is_iabt = kvm_vcpu_trap_is_iabt(vcpu);
>> -	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu))) {
>> +	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu)) && sea_status) {
>>   		kvm_inject_vabt(vcpu);
>>   		return 1;
>>   	}
>         After the host kernel correctly handle the synchronous external abort, the sea_status
>         will return 0, so the code logical will be continue go-no, whether it is better directly return
>         after correctly handle the SEA? such as below.
>
> 	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu)) && sea_status) {
>    		kvm_inject_vabt(vcpu);
>    		return 1;
>    	} else
>                  return 1;
Yes, I will return after successful SEA handling in the next patch set.

Thanks,
Tyler
>
>>   
>> -	fault_ipa = kvm_vcpu_get_fault_ipa(vcpu);
>> -
>>   	trace_kvm_guest_fault(*vcpu_pc(vcpu), kvm_vcpu_get_hsr(vcpu),
>>   			      kvm_vcpu_get_hfar(vcpu), fault_ipa);
>>   
>> -	/* Check the stage-2 fault is trans. fault or write fault */
>> -	fault_status = kvm_vcpu_trap_get_fault_type(vcpu);
>>   	if (fault_status != FSC_FAULT && fault_status != FSC_PERM &&

-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

WARNING: multiple messages have this Message-ID (diff)
From: "Baicar, Tyler" <tbaicar@codeaurora.org>
To: gengdongjiu <gengdongjiu@huawei.com>,
	christoffer.dall@linaro.org, marc.zyngier@arm.com,
	pbonzini@redhat.com, rkrcmar@redhat.com, linux@armlinux.org.uk,
	catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net,
	lenb@kernel.org, matt@codeblueprint.co.uk,
	robert.moore@intel.com, lv.zheng@intel.com, nkaje@codeaurora.org,
	zjzhang@codeaurora.org, mark.rutland@arm.com,
	james.morse@arm.com, akpm@linux-foundation.org,
	eun.taik.lee@samsung.com, sandeepa.s.prabhu@gmail.com,
	labbott@redhat.com, shijie.huang@arm.com,
	rruigrok@codeaurora.org, paul.gortmaker@windriver.com,
	tn@semihalf.com, fu.wei@linaro.org, rostedt@goodmis.org,
	bristot@redhat.com, linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
	linux-efi@vger.kernel.org, devel@acpica.org,
	Suzuki.Poulose@arm.com, punit.agrawal@arm.com, astone@redhat.com,
	harba@codeaurora.org, hanjun.guo@linaro.org,
	john.garry@huawei.com, shiju.jose@huawei.com, joe@perches.com,
	wuquanming@huawei.com, huangshaoyu@huawei.com
Subject: Re: [PATCH V13 10/10] arm/arm64: KVM: add guest SEA support
Date: Tue, 28 Mar 2017 10:44:48 -0600	[thread overview]
Message-ID: <35db9a6e-7ae3-3326-db1c-5cfff9ea27f3@codeaurora.org> (raw)
In-Reply-To: <5c7f6092-9358-08ac-5341-2364637c2008@huawei.com>

Hello,


On 3/28/2017 3:53 AM, gengdongjiu wrote:
> Hi,
>
> On 2017/3/22 6:47, Tyler Baicar wrote:
>> +	fault_ipa = kvm_vcpu_get_fault_ipa(vcpu);
>> +
>> +	/* The host kernel will handle the synchronous external abort. There
>> +	 * is no need to pass the error into the guest.
>> +	 */
>> +	if (is_abort_synchronous(fault_status))
>> +		sea_status = handle_guest_sea((unsigned long)fault_ipa,
>> +				    kvm_vcpu_get_hsr(vcpu));
>>   
>>   	is_iabt = kvm_vcpu_trap_is_iabt(vcpu);
>> -	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu))) {
>> +	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu)) && sea_status) {
>>   		kvm_inject_vabt(vcpu);
>>   		return 1;
>>   	}
>         After the host kernel correctly handle the synchronous external abort, the sea_status
>         will return 0, so the code logical will be continue go-no, whether it is better directly return
>         after correctly handle the SEA? such as below.
>
> 	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu)) && sea_status) {
>    		kvm_inject_vabt(vcpu);
>    		return 1;
>    	} else
>                  return 1;
Yes, I will return after successful SEA handling in the next patch set.

Thanks,
Tyler
>
>>   
>> -	fault_ipa = kvm_vcpu_get_fault_ipa(vcpu);
>> -
>>   	trace_kvm_guest_fault(*vcpu_pc(vcpu), kvm_vcpu_get_hsr(vcpu),
>>   			      kvm_vcpu_get_hfar(vcpu), fault_ipa);
>>   
>> -	/* Check the stage-2 fault is trans. fault or write fault */
>> -	fault_status = kvm_vcpu_trap_get_fault_type(vcpu);
>>   	if (fault_status != FSC_FAULT && fault_status != FSC_PERM &&

-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

WARNING: multiple messages have this Message-ID (diff)
From: tbaicar@codeaurora.org (Baicar, Tyler)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V13 10/10] arm/arm64: KVM: add guest SEA support
Date: Tue, 28 Mar 2017 10:44:48 -0600	[thread overview]
Message-ID: <35db9a6e-7ae3-3326-db1c-5cfff9ea27f3@codeaurora.org> (raw)
In-Reply-To: <5c7f6092-9358-08ac-5341-2364637c2008@huawei.com>

Hello,


On 3/28/2017 3:53 AM, gengdongjiu wrote:
> Hi,
>
> On 2017/3/22 6:47, Tyler Baicar wrote:
>> +	fault_ipa = kvm_vcpu_get_fault_ipa(vcpu);
>> +
>> +	/* The host kernel will handle the synchronous external abort. There
>> +	 * is no need to pass the error into the guest.
>> +	 */
>> +	if (is_abort_synchronous(fault_status))
>> +		sea_status = handle_guest_sea((unsigned long)fault_ipa,
>> +				    kvm_vcpu_get_hsr(vcpu));
>>   
>>   	is_iabt = kvm_vcpu_trap_is_iabt(vcpu);
>> -	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu))) {
>> +	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu)) && sea_status) {
>>   		kvm_inject_vabt(vcpu);
>>   		return 1;
>>   	}
>         After the host kernel correctly handle the synchronous external abort, the sea_status
>         will return 0, so the code logical will be continue go-no, whether it is better directly return
>         after correctly handle the SEA? such as below.
>
> 	if (unlikely(!is_iabt && kvm_vcpu_dabt_isextabt(vcpu)) && sea_status) {
>    		kvm_inject_vabt(vcpu);
>    		return 1;
>    	} else
>                  return 1;
Yes, I will return after successful SEA handling in the next patch set.

Thanks,
Tyler
>
>>   
>> -	fault_ipa = kvm_vcpu_get_fault_ipa(vcpu);
>> -
>>   	trace_kvm_guest_fault(*vcpu_pc(vcpu), kvm_vcpu_get_hsr(vcpu),
>>   			      kvm_vcpu_get_hfar(vcpu), fault_ipa);
>>   
>> -	/* Check the stage-2 fault is trans. fault or write fault */
>> -	fault_status = kvm_vcpu_trap_get_fault_type(vcpu);
>>   	if (fault_status != FSC_FAULT && fault_status != FSC_PERM &&

-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

  reply	other threads:[~2017-03-28 16:44 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-21 22:46 [PATCH V13 00/10] Add UEFI 2.6 and ACPI 6.1 updates for RAS on ARM64 Tyler Baicar
2017-03-21 22:46 ` Tyler Baicar
2017-03-21 22:46 ` Tyler Baicar
2017-03-21 22:46 ` [PATCH V13 01/10] acpi: apei: read ack upon ghes record consumption Tyler Baicar
2017-03-21 22:46   ` Tyler Baicar
2017-03-21 22:46   ` Tyler Baicar
2017-03-21 22:46 ` [PATCH V13 02/10] ras: acpi/apei: cper: generic error data entry v3 per ACPI 6.1 Tyler Baicar
2017-03-21 22:46   ` Tyler Baicar
2017-03-21 22:46   ` Tyler Baicar
2017-03-21 22:46 ` [PATCH V13 03/10] efi: parse ARM processor error Tyler Baicar
2017-03-21 22:46   ` Tyler Baicar
2017-03-21 22:46   ` Tyler Baicar
2017-03-21 22:46 ` [PATCH V13 04/10] arm64: exception: handle Synchronous External Abort Tyler Baicar
2017-03-21 22:46   ` Tyler Baicar
2017-03-21 22:46   ` Tyler Baicar
2017-03-23 17:02   ` Catalin Marinas
2017-03-23 17:02     ` Catalin Marinas
2017-03-23 17:02     ` Catalin Marinas
2017-03-21 22:47 ` [PATCH V13 05/10] acpi: apei: handle SEA notification type for ARMv8 Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-23 17:55   ` Catalin Marinas
2017-03-23 17:55     ` Catalin Marinas
2017-03-23 17:55     ` Catalin Marinas
2017-03-21 22:47 ` [PATCH V13 06/10] acpi: apei: panic OS with fatal error status block Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47 ` [PATCH V13 07/10] efi: print unrecognized CPER section Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47 ` [PATCH V13 08/10] ras: acpi / apei: generate trace event for " Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-23 18:44   ` Shiju Jose
2017-03-23 18:44     ` Shiju Jose
2017-03-21 22:47 ` [PATCH V13 09/10] trace, ras: add ARM processor error trace event Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-22  2:48   ` Xie XiuQi
2017-03-22  2:48     ` Xie XiuQi
2017-03-22  2:48     ` Xie XiuQi
2017-03-22  2:48     ` Xie XiuQi
2017-03-22  3:05     ` Baicar, Tyler
2017-03-22  3:05       ` Baicar, Tyler
2017-03-22  3:05       ` Baicar, Tyler
2017-03-22  3:05       ` Baicar, Tyler
     [not found]   ` <1490136425-4324-10-git-send-email-tbaicar-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-03-22  2:48     ` Xie XiuQi
2017-03-21 22:47 ` [PATCH V13 10/10] arm/arm64: KVM: add guest SEA support Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
2017-03-21 22:47   ` Tyler Baicar
     [not found]   ` <1490136425-4324-11-git-send-email-tbaicar-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-03-23 17:58     ` Catalin Marinas
2017-03-23 17:58       ` Catalin Marinas
2017-03-23 17:58       ` Catalin Marinas
2017-03-28  9:53     ` gengdongjiu
2017-03-24 14:03   ` Marc Zyngier
2017-03-24 14:03     ` Marc Zyngier
2017-03-24 14:03     ` Marc Zyngier
2017-03-28 16:35     ` Baicar, Tyler
2017-03-28 16:35       ` Baicar, Tyler
2017-03-28 16:35       ` Baicar, Tyler
2017-03-28 16:35       ` Baicar, Tyler
2017-03-24 16:01   ` Christoffer Dall
2017-03-24 16:01     ` Christoffer Dall
2017-03-24 16:01     ` Christoffer Dall
2017-03-28  4:19     ` gengdongjiu
2017-03-28  4:19       ` gengdongjiu
2017-03-28  4:19       ` gengdongjiu
2017-03-28  4:19       ` gengdongjiu
2017-03-28 16:44       ` Baicar, Tyler
2017-03-28 16:44         ` Baicar, Tyler
2017-03-28 16:44         ` Baicar, Tyler
2017-03-28 16:42     ` Baicar, Tyler
2017-03-28 16:42       ` Baicar, Tyler
2017-03-28 16:42       ` Baicar, Tyler
2017-03-28  9:53   ` gengdongjiu
2017-03-28  9:53     ` gengdongjiu
2017-03-28  9:53     ` gengdongjiu
2017-03-28  9:53     ` gengdongjiu
2017-03-28 16:44     ` Baicar, Tyler [this message]
2017-03-28 16:44       ` Baicar, Tyler
2017-03-28 16:44       ` Baicar, Tyler
2017-03-28 10:57   ` James Morse
2017-03-28 10:57     ` James Morse
2017-03-28 10:57     ` James Morse

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=35db9a6e-7ae3-3326-db1c-5cfff9ea27f3@codeaurora.org \
    --to=tbaicar@codeaurora.org \
    --cc=Suzuki.Poulose@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=bristot@redhat.com \
    --cc=catalin.marinas@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=devel@acpica.org \
    --cc=eun.taik.lee@samsung.com \
    --cc=fu.wei@linaro.org \
    --cc=gengdongjiu@huawei.com \
    --cc=james.morse@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=labbott@redhat.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=lv.zheng@intel.com \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=matt@codeblueprint.co.uk \
    --cc=nkaje@codeaurora.org \
    --cc=paul.gortmaker@windriver.com \
    --cc=pbonzini@redhat.com \
    --cc=punit.agrawal@arm \
    --cc=rjw@rjwysocki.net \
    --cc=rkrcmar@redhat.com \
    --cc=robert.moore@intel.com \
    --cc=rostedt@goodmis.org \
    --cc=rruigrok@codeaurora.org \
    --cc=sandeepa.s.prabhu@gmail.com \
    --cc=shijie.huang@arm.com \
    --cc=tn@semihalf.com \
    --cc=will.deacon@arm.com \
    --cc=zjzhang@codeaurora.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.