Re: [PATCH Part1 RFC v3 20/22] x86/boot: Add Confidential Computing address to setup_header

Brijesh Singh
2021-06-25T15:24:12Z

On 6/25/2021 9:48 AM, Borislav Petkov wrote:
>> For non-EFI case:
>>
>> We need a "proper" mechanism that bootloaders can use. My
>> understanding is this would generally be via setup_data or
>> setup_header, and that a direct boot_params field would be frowned
>> upon.
>
> So, you need to pass only an address, right?
>
> How workable would it be if you had a cmdline option:
>
> cc_blob_address=0xb1a
>
> with which you tell the kernel where that thing is?
>
> Because then you can use this in both cases - EFI and !EFI.
>

In the case of EFI, the CC blob structure is dynamically allocated
and passed through the EFI configuration table. The grub will not
know what value to pass in the cmdline unless we improve it to read
the EFI configuration table and rebuild the cmdline.

> Or is this blob platform-dependent and the EFI table contains it and
> something needs to get it out of there, even if it were a user to
> type in the cmdline cc_blob_address or some script when it comes to
> containers...?
>
> In any case, setup_data is kinda the generic way to pass arbitrary data
> to the kernel so in this case, you can prioritize the EFI table in the
> EFI case and fall back to setup_data if there's no EFI table...
>