Marc Zyngier
85bd0ba1ff
arm/arm64: KVM: Add PSCI version selection API
...
Although we've implemented PSCI 0.1, 0.2 and 1.0, we expose either 0.1
or 1.0 to a guest, defaulting to the latest version of the PSCI
implementation that is compatible with the requested version. This is
no different from doing a firmware upgrade on KVM.
But in order to give a chance to hypothetical badly implemented guests
that would have a fit by discovering something other than PSCI 0.2,
let's provide a new API that allows userspace to pick one particular
version of the API.
This is implemented as a new class of "firmware" registers, where
we expose the PSCI version. This allows the PSCI version to be
save/restored as part of a guest migration, and also set to
any supported version if the guest requires it.
Cc: stable@vger.kernel.org #4.16
Reviewed-by: Christoffer Dall <cdall@kernel.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-04-20 16:32:23 +01:00
..
2018-01-21 15:38:10 +00:00
2017-06-28 15:13:55 -05:00
2017-11-02 11:10:55 +01:00
2018-03-22 13:46:18 +00:00
2017-11-15 10:56:56 -08:00
2015-03-27 13:44:35 +00:00
2017-11-26 15:41:39 +00:00
2016-06-16 10:48:32 +02:00
2015-03-27 22:20:45 +00:00
2017-11-02 11:10:55 +01:00
2018-02-06 18:32:44 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-11 10:28:39 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-09-23 17:19:25 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-03-30 19:45:52 +01:00
2017-11-02 11:10:55 +01:00
2017-11-16 12:50:35 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-05-30 11:31:33 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-03-20 10:01:59 +01:00
2017-11-15 18:21:04 -08:00
2018-01-15 09:35:06 +01:00
2017-11-02 11:10:55 +01:00
2017-06-05 17:50:44 +02:00
2016-05-05 19:03:02 +01:00
2017-11-02 11:10:55 +01:00
2015-05-28 15:31:53 +02:00
2017-04-05 12:27:23 +02:00
2017-11-16 12:50:35 -08:00
2017-11-02 11:10:55 +01:00
2017-12-17 22:14:21 +00:00
2017-11-02 11:10:55 +01:00
2015-06-06 02:17:56 +09:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-07-02 11:02:13 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-17 22:15:35 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-16 12:50:35 -08:00
2015-06-25 17:00:35 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-04-24 13:53:13 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-03 09:02:11 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-02-27 18:43:45 -08:00
2017-11-29 16:46:18 +01:00
2018-03-19 10:53:13 +00:00
2017-05-15 14:29:19 +02:00
2018-03-19 10:53:17 +00:00
2018-04-20 16:32:23 +01:00
2018-03-19 10:53:21 +00:00
2016-05-20 15:39:42 +02:00
2018-03-19 13:06:05 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2015-05-06 11:47:10 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-04-11 10:28:38 -07:00
2017-03-02 08:42:37 +01:00
2017-11-16 12:50:35 -08:00
2017-11-02 11:10:55 +01:00
2017-11-16 12:50:35 -08:00
2017-11-02 11:10:55 +01:00
2015-07-25 15:28:05 +01:00
2017-06-27 14:58:10 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-18 23:07:43 -06:00
2014-11-13 23:58:06 +00:00
2015-05-27 16:12:05 +01:00
2017-11-15 18:21:04 -08:00
2016-09-12 12:12:30 +01:00
2016-06-09 17:51:47 +01:00
2016-09-12 12:12:30 +01:00
2018-01-31 17:18:37 -08:00
2017-06-05 10:29:40 +01:00
2018-01-08 15:20:45 +01:00
2015-01-14 12:24:52 +00:00
2017-04-09 07:49:24 -07:00
2018-01-15 12:08:06 -08:00
2016-01-20 17:55:20 -08:00
2018-01-21 15:32:20 +00:00
2017-10-24 13:17:32 +02:00
2017-12-17 22:14:21 +00:00
2017-05-08 17:15:13 -07:00
2016-01-04 11:26:00 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-16 14:05:12 -08:00
2017-11-02 11:10:55 +01:00
2017-10-23 16:58:59 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-07 10:32:44 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-04-21 14:57:26 +02:00
2018-01-21 15:37:56 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-09 23:21:02 +00:00
2017-08-10 15:54:07 -07:00
2017-03-02 08:42:37 +01:00
2017-11-02 11:10:55 +01:00
2017-11-13 01:34:49 +01:00
2017-12-17 22:14:21 +00:00
2016-10-11 15:06:33 -07:00
2017-09-17 19:45:33 +02:00
2017-11-16 12:50:35 -08:00
2017-10-24 10:33:23 +01:00
2017-12-17 22:14:21 +00:00
2016-10-19 10:18:47 +01:00
2017-11-02 11:10:55 +01:00
2017-11-16 12:50:35 -08:00
2015-03-27 22:20:45 +00:00
2018-03-24 14:27:49 +00:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-04-09 07:49:34 -07:00
2017-11-02 11:10:55 +01:00