[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [XEN][PATCH v7] x86: make Viridian support optional
- To: Jan Beulich <jbeulich@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Jason Andryuk <jason.andryuk@xxxxxxx>
- From: Grygorii Strashko <grygorii_strashko@xxxxxxxx>
- Date: Thu, 6 Nov 2025 15:42:23 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+zcS1JRApop1QLWvVyrN8hvB1GBagH35NyYlKb5HkEQ=; b=YQRaUOOAaj7hlQsrkWA/OHbOtuxYpG+L9xaCDCa8N5KVKQnx/ymkH3dzPqXUlhDl1XavD6XpkZmrnu2jgvNb0cG07SI/FAh45gzN6ttrAkk92NRTz4h2F9Jch/VAC2/xPlqJu/tmJPFWbkSBNxSKlhDSh8kbfAnMW4N4X5Y4GjzgWUysQ9tul3hhorVFc91/eNpwU8THyEkVzWC43ILXnd3AybuWZPSpkfimb7RdMehXuWKV65juksep83IhUSk1skE5Qop+6JDqgocaTRyD8KA6SY2gBoX3NEK11i4pBqkEs18x4wRF8Pv/YrvgNpik6L4sMOJaO5n2ce3/iKm+PA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kiokrS/PFAdWcRD+40VUhDGuOPEHBEuAva+by041WpfUy8US8NE8XDafeBB43AdT6l6EvuEAyiMYJ9N1RAtu/0hjWdsDpliU3t66VxcJBHmQKfEoUFkbnPmHSqNTcr99pPIZ1IOBJoL/I1riuWWgz0Y66pAPOXL+N16FpoJks55lcIp+U7UkwUgKoF8JUtpJZLUmBbh/ITJDenywEV2KLGpJCK7yrUPHI2Buwbl/M1SV5oHDvuPlClm2MlGh0eQt4jN0Q/vmaJ1YwQr0zPiS4QC3fAIJd0QkiL18454NJJ5KbCj+cfUeyMMXpbUjqQvJIGjH2geZ5vFM89PEMnPafg==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
- Cc: Sergiy Kibrik <Sergiy_Kibrik@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>, Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Thu, 06 Nov 2025 13:42:41 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 06.11.25 13:35, Jan Beulich wrote:
On 31.10.2025 17:17, Grygorii Strashko wrote:
--- a/xen/arch/x86/hvm/Makefile
+++ b/xen/arch/x86/hvm/Makefile
@@ -1,6 +1,6 @@
obj-$(CONFIG_AMD_SVM) += svm/
obj-$(CONFIG_INTEL_VMX) += vmx/
-obj-y += viridian/
+obj-$(CONFIG_VIRIDIAN) += viridian/
With this, what is the point of the additions to
viridian_load_{domain,vcpu}_ctxt()?
You're adding dead code there, aren't you?
Hgrr. And we end up back to v3 regarding this part.
Check in viridian_load_{domain,vcpu}_ctxt() may/may not work depending on
toolstack
behavior which is not strictly defined (loading HVM_PARAM_VIRIDIAN before/after
viridian_load_{domain,vcpu}_ctxt()).
So what's the conclusion here - drop this check?
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4231,8 +4231,9 @@ static int hvm_set_param(struct domain *d, uint32_t
index, uint64_t value)
rc = -EINVAL;
break;
case HVM_PARAM_VIRIDIAN:
- if ( (value & ~HVMPV_feature_mask) ||
- !(value & HVMPV_base_freq) )
+ if ( !IS_ENABLED(CONFIG_VIRIDIAN) && value )
+ rc = -ENODEV;
+ else if ( (value & ~HVMPV_feature_mask) || !(value & HVMPV_base_freq) )
rc = -EINVAL;
I find the check for value to be (non-)zero a little dubious here: If any caller
passed in 0, it would get back -EINVAL anyway. Imo -ENODEV would be more
suitable
in that case as well. Things would be different if 0 was a valid value to pass
in.
The idea was to distinguish between "Feature enabled, Invalid parameter" and
"Feature disabled".
--
Best regards,
-grygorii
|