Mailing List Archive

[XEN PATCH v1 02/15] x86/hvm: guard AMD-V and Intel VT-x hvm_function_table initializers
From: Xenia Ragiadakou <burzalodowa@gmail.com>

Since start_svm() is AMD-V specific while start_vmx() is Intel VT-x specific,
one can be excluded from build completely with CONFIG_SVM and CONFIG_VMX,
respectively.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
xen/arch/x86/hvm/hvm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0ce45b177c..3edbe03caf 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -156,9 +156,9 @@ static int __init cf_check hvm_enable(void)
{
const struct hvm_function_table *fns = NULL;

- if ( cpu_has_vmx )
+ if ( IS_ENABLED(CONFIG_VMX) && cpu_has_vmx )
fns = start_vmx();
- else if ( cpu_has_svm )
+ else if ( IS_ENABLED(CONFIG_SVM) && cpu_has_svm )
fns = start_svm();

if ( fns == NULL )
--
2.25.1
Re: [XEN PATCH v1 02/15] x86/hvm: guard AMD-V and Intel VT-x hvm_function_table initializers [ In reply to ]
On 16.04.2024 08:22, Sergiy Kibrik wrote:
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -156,9 +156,9 @@ static int __init cf_check hvm_enable(void)
> {
> const struct hvm_function_table *fns = NULL;
>
> - if ( cpu_has_vmx )
> + if ( IS_ENABLED(CONFIG_VMX) && cpu_has_vmx )
> fns = start_vmx();
> - else if ( cpu_has_svm )
> + else if ( IS_ENABLED(CONFIG_SVM) && cpu_has_svm )
> fns = start_svm();

Do we have or do we foresee any uses of cpu_has_{vmx,svm} that are relevant
when CONFIG_{VMX,SVM}=n respectively? If not, I'd prefer if the IS_ENABLED()
would be folded right into the definitions of cpu_has_{vmx,svm}, as is
already done for a few other CONFIG_*.

Jan
Re: [XEN PATCH v1 02/15] x86/hvm: guard AMD-V and Intel VT-x hvm_function_table initializers [ In reply to ]
18.04.24 14:18, Jan Beulich:
> On 16.04.2024 08:22, Sergiy Kibrik wrote:
>> --- a/xen/arch/x86/hvm/hvm.c
>> +++ b/xen/arch/x86/hvm/hvm.c
>> @@ -156,9 +156,9 @@ static int __init cf_check hvm_enable(void)
>> {
>> const struct hvm_function_table *fns = NULL;
>>
>> - if ( cpu_has_vmx )
>> + if ( IS_ENABLED(CONFIG_VMX) && cpu_has_vmx )
>> fns = start_vmx();
>> - else if ( cpu_has_svm )
>> + else if ( IS_ENABLED(CONFIG_SVM) && cpu_has_svm )
>> fns = start_svm();
>
> Do we have or do we foresee any uses of cpu_has_{vmx,svm} that are relevant
> when CONFIG_{VMX,SVM}=n respectively? If not, I'd prefer if the IS_ENABLED()
> would be folded right into the definitions of cpu_has_{vmx,svm}, as is
> already done for a few other CONFIG_*.
>
> Jan

looks nice, will do it

-Sergiy