Re: [PATCH 5/6] x86/hyperv: Support hypercalls for TDX guests
From: Sathyanarayanan Kuppuswamy
Date: Wed Nov 23 2022 - 13:18:48 EST
On 11/23/22 6:47 AM, Kirill A. Shutemov wrote:
> On Wed, Nov 23, 2022 at 02:14:58AM +0000, Dexuan Cui wrote:
>>> From: Dave Hansen <dave.hansen@xxxxxxxxx>
>>> Sent: Monday, November 21, 2022 12:05 PM
>>> [...]
>>>> #ifdef CONFIG_X86_64
>>>> +#if CONFIG_INTEL_TDX_GUEST
>>>> + if (hv_isolation_type_tdx()) {
>>>
>>>> #ifdef CONFIG_X86_64
>>>> +#if CONFIG_INTEL_TDX_GUEST
>>>> + if (hv_isolation_type_tdx())
>>>
>>>> #ifdef CONFIG_X86_64
>>>> +#if CONFIG_INTEL_TDX_GUEST
>>>> + if (hv_isolation_type_tdx())
>>>> + return __tdx_ms_hv_hypercall(control, input2, input1);
>>>
>>> See any common patterns there?
>>>
>>> The "no #ifdef's in C files" rule would be good to apply here. Please
>>> do one #ifdef in a header.
>>
>> Sorry, I should use #ifdef rather than #if. I'll fix it like the below.
>
> No, can we hide preprocessor hell inside hv_isolation_type_tdx()?
>
> Like make it return false for !CONFIG_INTEL_TDX_GUEST and avoid all
> #if/#ifdefs in C file.
There is a weak reference to hv_isolation_type_tdx() which returns false
by default. So defining the hv_isolation_type_tdx within
#ifdef CONFIG_INTEL_TDX_GUEST would be enough.
>
>
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer