diff mbox series

[XEN,v1,02/15] x86/hvm: guard AMD-V and Intel VT-x hvm_function_table initializers

Message ID 20240416062258.3468774-1-Sergiy_Kibrik@epam.com (mailing list archive)
State Superseded
Headers show
Series x86: make cpu virtualization support configurable | expand

Commit Message

Sergiy Kibrik April 16, 2024, 6:22 a.m. UTC
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(-)

Comments

Jan Beulich April 18, 2024, 11:18 a.m. UTC | #1
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
Sergiy Kibrik April 19, 2024, 8:19 a.m. UTC | #2
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
diff mbox series

Patch

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 )