Re: [PATCH v19 039/130] KVM: TDX: initialize VM with TDX specific parameters

Jürgen Groß
2024-05-23T10:37:51Z

On 23.05.24 12:35, Kirill A. Shutemov wrote:
> On Fri, May 17, 2024 at 07:25:01PM +0300, Kirill A. Shutemov wrote:
>> On Fri, May 17, 2024 at 05:00:19PM +0200, Jürgen Groß wrote:
>>> On 17.05.24 16:53, Kirill A. Shutemov wrote:
>>>> On Fri, May 17, 2024 at 04:37:16PM +0200, Juergen Gross wrote:
>>>>> On 17.05.24 16:32, Kirill A. Shutemov wrote:
>>>>>> On Mon, Feb 26, 2024 at 12:25:41AM -0800, isaku.yamahata@intel.com wrote:
>>>>>>> @@ -725,6 +967,17 @@ static int __init tdx_module_setup(void)
>>>>>>> tdx_info->nr_tdcs_pages = tdcs_base_size / PAGE_SIZE;
>>>>>>> + /*
>>>>>>> + * Make TDH.VP.ENTER preserve RBP so that the stack unwinder
>>>>>>> + * always work around it. Query the feature.
>>>>>>> + */
>>>>>>> + if (!(tdx_info->features0 & MD_FIELD_ID_FEATURES0_NO_RBP_MOD) &&
>>>>>>> + !IS_ENABLED(CONFIG_FRAME_POINTER)) {
>>>>>>
>>>>>> I think it supposed to be IS_ENABLED(CONFIG_FRAME_POINTER). "!" shouldn't
>>>>>> be here.
>>>>>
>>>>> No, I don't think so.
>>>>>
>>>>> With CONFIG_FRAME_POINTER %rbp is being saved and restored, so there is no
>>>>> problem in case the seamcall is clobbering it.
>>>>
>>>> Could you check setup_tdparams() in your tree?
>>>>
>>>> Commit
>>>>
>>>> [SEAM-WORKAROUND] KVM: TDX: Don't use NO_RBP_MOD for backward compatibility
>>>>
>>>> in my tree comments out the setting TDX_CONTROL_FLAG_NO_RBP_MOD.
>>>>
>>>> I now remember there was problem in EDK2 using RBP. So the patch is
>>>> temporary until EDK2 is fixed.
>>>>
>>>
>>> I have the following line in setup_tdparams() (not commented out):
>>>
>>> td_params->exec_controls = TDX_CONTROL_FLAG_NO_RBP_MOD;
>>
>> Could you check if it is visible from the guest side?
>
> Jürgen, have you tried it?
>

No, I'm not yet at the point where I can boot a guest successfully.

Juergen