From: Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>
To: Lorenzo Pieralisi
<lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Cc: Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>,
Christoffer Dall
<christoffer.dall-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Anup Patel <anup.patel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Marc Zyngier <Marc.Zyngier-5wv7dgnIgG8@public.gmane.org>,
Will Deacon <Will.Deacon-5wv7dgnIgG8@public.gmane.org>,
Catalin Marinas <Catalin.Marinas-5wv7dgnIgG8@public.gmane.org>,
Mark Rutland <Mark.Rutland-5wv7dgnIgG8@public.gmane.org>
Subject: Re: [PATCH 1/6] ARM: kvm: psci: fix handling of unimplemented functions
Date: Fri, 29 May 2015 14:04:49 +0100 [thread overview]
Message-ID: <556863F1.10902@arm.com> (raw)
In-Reply-To: <1432901799-18359-2-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
On 29/05/15 13:16, Lorenzo Pieralisi wrote:
> According to the PSCI specification and the SMC/HVC calling
> convention, PSCI function_ids that are not implemented must
> return NOT_SUPPORTED as return value.
>
> Current KVM implementation takes an unhandled PSCI function_id
> as an error and injects an undefined instruction into the guest
> if PSCI implementation is called with a function_id that is not
> handled by the resident PSCI version (ie it is not implemented),
> which is not the behaviour expected by a guest when calling a
> PSCI function_id that is not implemented.
>
> This patch fixes this issue by returning NOT_SUPPORTED whenever
> the kvm PSCI call is executed for a function_id that is not
> implemented by the PSCI kvm layer.
>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
> Reported-by: Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>
> Cc: Christoffer Dall <christoffer.dall-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Cc: Anup Patel <anup.patel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> Cc: Marc Zyngier <marc.zyngier-5wv7dgnIgG8@public.gmane.org>
> ---
> arch/arm/kvm/psci.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/kvm/psci.c b/arch/arm/kvm/psci.c
> index 7e9398c..ec5943b 100644
> --- a/arch/arm/kvm/psci.c
> +++ b/arch/arm/kvm/psci.c
> @@ -273,7 +273,8 @@ static int kvm_psci_0_2_call(struct kvm_vcpu *vcpu)
> ret = 0;
> break;
> default:
> - return -EINVAL;
> + val = PSCI_RET_NOT_SUPPORTED;
> + break;
IMO we can remove all the other optional non-implemented PSCI functions
(e.g. KVM_PSCI_FN_MIGRATE, KVM_PSCI_FN_CPU_SUSPEND, ..etc) returning
PSCI_RET_NOT_SUPPORTED here as they will be then automatically covered
by default case.
Otherwise looks good to me:
Acked-by: Sudeep Holla <sudeep.holla-5wv7dgnIgG8@public.gmane.org>
Regards,
Sudeep
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: sudeep.holla@arm.com (Sudeep Holla)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/6] ARM: kvm: psci: fix handling of unimplemented functions
Date: Fri, 29 May 2015 14:04:49 +0100 [thread overview]
Message-ID: <556863F1.10902@arm.com> (raw)
In-Reply-To: <1432901799-18359-2-git-send-email-lorenzo.pieralisi@arm.com>
On 29/05/15 13:16, Lorenzo Pieralisi wrote:
> According to the PSCI specification and the SMC/HVC calling
> convention, PSCI function_ids that are not implemented must
> return NOT_SUPPORTED as return value.
>
> Current KVM implementation takes an unhandled PSCI function_id
> as an error and injects an undefined instruction into the guest
> if PSCI implementation is called with a function_id that is not
> handled by the resident PSCI version (ie it is not implemented),
> which is not the behaviour expected by a guest when calling a
> PSCI function_id that is not implemented.
>
> This patch fixes this issue by returning NOT_SUPPORTED whenever
> the kvm PSCI call is executed for a function_id that is not
> implemented by the PSCI kvm layer.
>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> Reported-by: Sudeep Holla <sudeep.holla@arm.com>
> Cc: Christoffer Dall <christoffer.dall@linaro.org>
> Cc: Anup Patel <anup.patel@linaro.org>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> ---
> arch/arm/kvm/psci.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/kvm/psci.c b/arch/arm/kvm/psci.c
> index 7e9398c..ec5943b 100644
> --- a/arch/arm/kvm/psci.c
> +++ b/arch/arm/kvm/psci.c
> @@ -273,7 +273,8 @@ static int kvm_psci_0_2_call(struct kvm_vcpu *vcpu)
> ret = 0;
> break;
> default:
> - return -EINVAL;
> + val = PSCI_RET_NOT_SUPPORTED;
> + break;
IMO we can remove all the other optional non-implemented PSCI functions
(e.g. KVM_PSCI_FN_MIGRATE, KVM_PSCI_FN_CPU_SUSPEND, ..etc) returning
PSCI_RET_NOT_SUPPORTED here as they will be then automatically covered
by default case.
Otherwise looks good to me:
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Regards,
Sudeep
next prev parent reply other threads:[~2015-05-29 13:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-29 12:16 [PATCH 0/6] drivers: firmware: psci: add basic v1.0 support Lorenzo Pieralisi
2015-05-29 12:16 ` Lorenzo Pieralisi
[not found] ` <1432901799-18359-1-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2015-05-29 12:16 ` [PATCH 1/6] ARM: kvm: psci: fix handling of unimplemented functions Lorenzo Pieralisi
2015-05-29 12:16 ` Lorenzo Pieralisi
[not found] ` <1432901799-18359-2-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2015-05-29 13:04 ` Sudeep Holla [this message]
2015-05-29 13:04 ` Sudeep Holla
2015-06-09 17:18 ` Marc Zyngier
2015-06-09 17:18 ` Marc Zyngier
[not found] ` <55771FDC.3090800-5wv7dgnIgG8@public.gmane.org>
2015-06-10 8:24 ` Lorenzo Pieralisi
2015-06-10 8:24 ` Lorenzo Pieralisi
2015-05-29 12:16 ` [PATCH 2/6] drivers: firmware: psci: add INVALID_ADDRESS return value Lorenzo Pieralisi
2015-05-29 12:16 ` Lorenzo Pieralisi
2015-05-29 12:16 ` [PATCH 3/6] drivers: firmware: psci: move power_state handling to generic code Lorenzo Pieralisi
2015-05-29 12:16 ` Lorenzo Pieralisi
[not found] ` <1432901799-18359-4-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2015-06-01 9:28 ` Will Deacon
2015-06-01 9:28 ` Will Deacon
2015-05-29 12:16 ` [PATCH 4/6] drivers: firmware: psci: add PSCI_FEATURES call Lorenzo Pieralisi
2015-05-29 12:16 ` Lorenzo Pieralisi
2015-05-29 12:16 ` [PATCH 5/6] drivers: firmware: psci: add extended stateid power_state support Lorenzo Pieralisi
2015-05-29 12:16 ` Lorenzo Pieralisi
[not found] ` <1432901799-18359-6-git-send-email-lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.org>
2015-06-05 14:16 ` Ashwin Chaugule
2015-06-05 14:16 ` Ashwin Chaugule
[not found] ` <CAJ5Y-eYLAjOcTU1Md3Rmc0E49A5Dby1aoBzwtpKpD4Rg=XAYfA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-08 11:03 ` Lorenzo Pieralisi
2015-06-08 11:03 ` Lorenzo Pieralisi
2015-05-29 12:16 ` [PATCH 6/6] drivers: firmware: psci: add PSCI v1.0 DT bindings Lorenzo Pieralisi
2015-05-29 12:16 ` Lorenzo Pieralisi
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=556863F1.10902@arm.com \
--to=sudeep.holla-5wv7dgnigg8@public.gmane.org \
--cc=Catalin.Marinas-5wv7dgnIgG8@public.gmane.org \
--cc=Marc.Zyngier-5wv7dgnIgG8@public.gmane.org \
--cc=Mark.Rutland-5wv7dgnIgG8@public.gmane.org \
--cc=Will.Deacon-5wv7dgnIgG8@public.gmane.org \
--cc=anup.patel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=christoffer.dall-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=lorenzo.pieralisi-5wv7dgnIgG8@public.gmane.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.