[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a34587e5-a144-c4a5-56f0-235da22ebce5@gmail.com>
Date: Wed, 23 Feb 2022 22:09:19 +0800
From: Tianyu Lan <ltykernel@...il.com>
To: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
Cc: Borislav Petkov <bp@...en8.de>, Wei Liu <wei.liu@...nel.org>,
tglx@...utronix.de, mingo@...hat.com, dave.hansen@...el.com,
luto@...nel.org, peterz@...radead.org,
sathyanarayanan.kuppuswamy@...ux.intel.com, aarcange@...hat.com,
ak@...ux.intel.com, dan.j.williams@...el.com, david@...hat.com,
hpa@...or.com, jmattson@...gle.com, seanjc@...gle.com,
thomas.lendacky@....com, brijesh.singh@....com, x86@...nel.org,
linux-kernel@...r.kernel.org,
"K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Dexuan Cui <decui@...rosoft.com>,
Tianyu Lan <Tianyu.Lan@...rosoft.com>
Subject: Re: [PATCH 1/4] x86/hyperv: Add missing ARCH_HAS_CC_PLATFORM
dependency
On 2/23/2022 7:47 PM, Kirill A. Shutemov wrote:
> On Wed, Feb 23, 2022 at 07:02:49PM +0800, Tianyu Lan wrote:
>> On 2/23/2022 6:56 PM, Borislav Petkov wrote:
>>> On Wed, Feb 23, 2022 at 06:43:40PM +0800, Tianyu Lan wrote:
>>>> Hyper-V code check cpuid during runtime and there is no Hyper-V
>>>> isolation VM option.
>>>
>>> So how does "Current Hyper-V Isolation VM requires AMD_MEM_ENCRYPT" work
>>> exactly?
>>>
>>> Please explain in detail and not in piecemeal sentences.
>>>
>> The kernel in the image needs to select AMD_MEM_ENCRYPT option
>> otherwise the kernel can't boot up due to missing SEV support and
>> sev_es_ghcb_hv_call() always return error.
>
> If kernel boots under SEV, doesn't it mean we have 'sme_me_mask'
> initialized? If it is non zero hv_is_isolation_supported() check in
> cc_platform_has() has zero effect as it checked after 'sme_me_mask'.
>
> I still have no idea what is going on.
>
> How SEV related to HyperV isolation? How detection happens? Could you
> give full picture?
>
Hi Kriil:
Current Hyper-V Isolation VM is unenlightened VM design. Hyper-V
hides SEV capability from Linux guest and expose Hyper-V cpuid to show
Hyper-V isolation VM capability. So sme_me_mask is zero in this case
because SEV capability cpuid returns not-support.
Hyper-V Isolation VM code uses some SEV API sev_es_ghcb_hv_call()
to share code and so it's necessary to select AMD_MEM_ENCRYPT option for
Hyper-V Isolation VM.
Powered by blists - more mailing lists