From: James Morse <james.morse at arm.com>
To: devel@acpica.org
Subject: Re: [Devel] [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl
Date: Tue, 23 Jan 2018 19:06:33 +0000 [thread overview]
Message-ID: <5A6787B9.3080906@arm.com> (raw)
In-Reply-To: 1515254577-6460-6-git-send-email-gengdongjiu@huawei.com
[-- Attachment #1: Type: text/plain, Size: 1939 bytes --]
Hi Dongjiu Geng,
On 06/01/18 16:02, Dongjiu Geng wrote:
> The ARM64 RAS SError Interrupt(SEI) syndrome value is specific to the
> guest and user space needs a way to tell KVM this value. So we add a
> new ioctl. Before user space specifies the Exception Syndrome Register
> ESR(ESR), it firstly checks that whether KVM has the capability to
> set the guest ESR, If has, will set it. Otherwise, nothing to do.
>
> For this ESR specifying, Only support for AArch64, not support AArch32.
After this patch user-space can trigger an SError in the guest. If it wants to
migrate the guest, how does the pending SError get migrated?
I think we need to fix migration first. Andrew Jones suggested using
KVM_GET/SET_VCPU_EVENTS:
https://www.spinics.net/lists/arm-kernel/msg616846.html
Given KVM uses kvm_inject_vabt() on v8.0 hardware too, we should cover systems
without the v8.2 RAS Extensions with the same API. I think this means a bit to
read/write whether SError is pending, and another to indicate the ESR should be
set/read.
CPUs without the v8.2 RAS Extensions can reject pending-SError that had an ESR.
user-space can then use the 'for migration' calls to make a 'new' SError pending.
Now that the cpufeature bits are queued, I think this can be split up into two
separate series for v4.16-rc1, one to tackle NOTIFY_SEI and the associated
plumbing. The second for the KVM 'make SError pending' API.
> diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
> index 5c7f657..738ae90 100644
> --- a/arch/arm64/kvm/guest.c
> +++ b/arch/arm64/kvm/guest.c
> @@ -277,6 +277,11 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
> return -EINVAL;
> }
>
> +int kvm_arm_set_sei_esr(struct kvm_vcpu *vcpu, u32 *syndrome)
> +{
> + return -EINVAL;
> +}
Does nothing in the patch that adds the support? This is a bit odd.
(oh, its hiding in patch 6...)
Thanks,
James
WARNING: multiple messages have this Message-ID (diff)
From: James Morse <james.morse@arm.com>
To: Dongjiu Geng <gengdongjiu@huawei.com>
Cc: christoffer.dall@linaro.org, marc.zyngier@arm.com,
linux@armlinux.org.uk, catalin.marinas@arm.com,
rjw@rjwysocki.net, bp@alien8.de, robert.moore@intel.com,
lv.zheng@intel.com, corbet@lwn.net, will.deacon@arm.com,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu, linux-acpi@vger.kernel.org,
devel@acpica.org, huangshaoyu@huawei.com
Subject: Re: [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl
Date: Tue, 23 Jan 2018 19:06:33 +0000 [thread overview]
Message-ID: <5A6787B9.3080906@arm.com> (raw)
In-Reply-To: <1515254577-6460-6-git-send-email-gengdongjiu@huawei.com>
Hi Dongjiu Geng,
On 06/01/18 16:02, Dongjiu Geng wrote:
> The ARM64 RAS SError Interrupt(SEI) syndrome value is specific to the
> guest and user space needs a way to tell KVM this value. So we add a
> new ioctl. Before user space specifies the Exception Syndrome Register
> ESR(ESR), it firstly checks that whether KVM has the capability to
> set the guest ESR, If has, will set it. Otherwise, nothing to do.
>
> For this ESR specifying, Only support for AArch64, not support AArch32.
After this patch user-space can trigger an SError in the guest. If it wants to
migrate the guest, how does the pending SError get migrated?
I think we need to fix migration first. Andrew Jones suggested using
KVM_GET/SET_VCPU_EVENTS:
https://www.spinics.net/lists/arm-kernel/msg616846.html
Given KVM uses kvm_inject_vabt() on v8.0 hardware too, we should cover systems
without the v8.2 RAS Extensions with the same API. I think this means a bit to
read/write whether SError is pending, and another to indicate the ESR should be
set/read.
CPUs without the v8.2 RAS Extensions can reject pending-SError that had an ESR.
user-space can then use the 'for migration' calls to make a 'new' SError pending.
Now that the cpufeature bits are queued, I think this can be split up into two
separate series for v4.16-rc1, one to tackle NOTIFY_SEI and the associated
plumbing. The second for the KVM 'make SError pending' API.
> diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
> index 5c7f657..738ae90 100644
> --- a/arch/arm64/kvm/guest.c
> +++ b/arch/arm64/kvm/guest.c
> @@ -277,6 +277,11 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
> return -EINVAL;
> }
>
> +int kvm_arm_set_sei_esr(struct kvm_vcpu *vcpu, u32 *syndrome)
> +{
> + return -EINVAL;
> +}
Does nothing in the patch that adds the support? This is a bit odd.
(oh, its hiding in patch 6...)
Thanks,
James
WARNING: multiple messages have this Message-ID (diff)
From: james.morse@arm.com (James Morse)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl
Date: Tue, 23 Jan 2018 19:06:33 +0000 [thread overview]
Message-ID: <5A6787B9.3080906@arm.com> (raw)
In-Reply-To: <1515254577-6460-6-git-send-email-gengdongjiu@huawei.com>
Hi Dongjiu Geng,
On 06/01/18 16:02, Dongjiu Geng wrote:
> The ARM64 RAS SError Interrupt(SEI) syndrome value is specific to the
> guest and user space needs a way to tell KVM this value. So we add a
> new ioctl. Before user space specifies the Exception Syndrome Register
> ESR(ESR), it firstly checks that whether KVM has the capability to
> set the guest ESR, If has, will set it. Otherwise, nothing to do.
>
> For this ESR specifying, Only support for AArch64, not support AArch32.
After this patch user-space can trigger an SError in the guest. If it wants to
migrate the guest, how does the pending SError get migrated?
I think we need to fix migration first. Andrew Jones suggested using
KVM_GET/SET_VCPU_EVENTS:
https://www.spinics.net/lists/arm-kernel/msg616846.html
Given KVM uses kvm_inject_vabt() on v8.0 hardware too, we should cover systems
without the v8.2 RAS Extensions with the same API. I think this means a bit to
read/write whether SError is pending, and another to indicate the ESR should be
set/read.
CPUs without the v8.2 RAS Extensions can reject pending-SError that had an ESR.
user-space can then use the 'for migration' calls to make a 'new' SError pending.
Now that the cpufeature bits are queued, I think this can be split up into two
separate series for v4.16-rc1, one to tackle NOTIFY_SEI and the associated
plumbing. The second for the KVM 'make SError pending' API.
> diff --git a/arch/arm64/kvm/guest.c b/arch/arm64/kvm/guest.c
> index 5c7f657..738ae90 100644
> --- a/arch/arm64/kvm/guest.c
> +++ b/arch/arm64/kvm/guest.c
> @@ -277,6 +277,11 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
> return -EINVAL;
> }
>
> +int kvm_arm_set_sei_esr(struct kvm_vcpu *vcpu, u32 *syndrome)
> +{
> + return -EINVAL;
> +}
Does nothing in the patch that adds the support? This is a bit odd.
(oh, its hiding in patch 6...)
Thanks,
James
next reply other threads:[~2018-01-23 19:06 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-23 19:06 James Morse [this message]
2018-01-23 19:06 ` [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl James Morse
2018-01-23 19:06 ` James Morse
-- strict thread matches above, loose matches on Subject: below --
2018-03-15 20:46 [Devel] " James Morse
2018-02-15 17:55 James Morse
2018-02-12 10:19 gengdongjiu
2018-02-09 17:44 James Morse
2018-02-05 6:19 gengdongjiu
2018-01-30 19:39 [Devel] [PATCH v9 3/7] acpi: apei: Add SEI notification type support for ARMv8 James Morse
2018-01-30 19:39 ` James Morse
2018-01-30 19:39 ` James Morse
2018-01-30 19:21 [Devel] [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl James Morse
2018-01-25 8:21 [Devel] [PATCH v9 6/7] arm64: kvm: Set Virtual SError Exception Syndrome for guest gengdongjiu
2018-01-25 8:21 ` gengdongjiu
2018-01-25 8:21 ` gengdongjiu
2018-01-25 8:21 ` gengdongjiu
2018-01-24 20:06 [Devel] [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl gengdongjiu
2018-01-23 19:07 [Devel] [PATCH v9 6/7] arm64: kvm: Set Virtual SError Exception Syndrome for guest James Morse
2018-01-23 19:07 ` James Morse
2018-01-23 19:07 ` James Morse
2018-01-23 10:07 [Devel] [PATCH v9 3/7] acpi: apei: Add SEI notification type support for ARMv8 gengdongjiu
2018-01-23 10:07 ` gengdongjiu
2018-01-23 10:07 ` gengdongjiu
2018-01-23 10:07 ` gengdongjiu
2018-01-23 9:23 [Devel] " gengdongjiu
2018-01-23 9:23 ` gengdongjiu
2018-01-23 9:23 ` gengdongjiu
2018-01-23 9:23 ` gengdongjiu
2018-01-22 19:39 [Devel] " James Morse
2018-01-22 19:39 ` James Morse
2018-01-22 19:39 ` James Morse
2018-01-22 19:39 ` James Morse
2018-01-06 16:02 [Devel] [PATCH v9 7/7] arm64: kvm: handle guest SError Interrupt by categorization Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 [Devel] [PATCH v9 6/7] arm64: kvm: Set Virtual SError Exception Syndrome for guest Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 [Devel] [PATCH v9 5/7] arm64: kvm: Introduce KVM_ARM_SET_SERROR_ESR ioctl Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 [Devel] [PATCH v9 4/7] KVM: arm64: Trap RAS error registers and set HCR_EL2's TERR & TEA Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 [Devel] [PATCH v9 3/7] acpi: apei: Add SEI notification type support for ARMv8 Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 [Devel] [PATCH v9 2/7] KVM: arm64: Save ESR_EL2 on guest SError Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 [Devel] [PATCH v9 1/7] arm64: cpufeature: Detect CPU RAS Extentions Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 [Devel] [PATCH v9 0/7] Handle guest RAS Error in KVM and kernel Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
2018-01-06 16:02 ` Dongjiu Geng
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=5A6787B9.3080906@arm.com \
--to=devel@acpica.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.