On 02/20/19 13:23, Ard Biesheuvel wrote:
> On Wed, 20 Feb 2019 at 06:53, Jagadeesh Ujja <jagadeesh.u...@arm.com> wrote:
>>
>> hi Ard,
>> On Tue, Feb 19, 2019 at 6:55 PM Ard Biesheuvel
>> <ard.biesheu...@linaro.org> wrote:
>>>
>>> Hello Jagadeesh,
>>>
>>> On Tue, 19 Feb 2019 at 11:47, Jagadeesh Ujja <jagadeesh.u...@arm.com> wrote:
>>>>
>>>> In preparation for providing a standalone MM based non-secure variable
>>>> runtime driver, factor out some portions that are specific to the
>>>> traditional driver, mainly related to locating variable arch protocol
>>>> and variable write arch protocol, which are not required to be located
>>>> when using standalone MM based secure variable implementation.
>>>>
>>>
>>> While i think this change is correct from a technical perspective, I
>>> don't think this is the right approach.
>>>
>> these changes are mandatory, this is one of the possible solution.
>>
>>> It was a deliberate decision to expose the MM services in a way that
>>> only the producer of the communication protocol is aware of the
>>> implementation details, i.e., whether it is backed by tradtional MM or
>>> standalone MM.
>>>
>> can you please provide more details on how "exposing the MM services"
>> will help to resolve the issue here. if this helps, definitely i will use 
>> that.
>>
> 
> Let me rephrase this for the benefit of the MdeModulePkg maintainers,
> and ask them their opinion.
> 
> Currently, the DXE runtime driver that produces the architectural
> varstore protocols that are based on communication with MM components
> living elsewhere, rely on the EFI protocol database for sequencing.
> I.e., after dispatch, they wait for certain protocols to be installed
> into the DXE protocol database by the SMM drivers before proceeding to
> install the variable arch protocols.
> 
> This does not work for standalone MM, since it has no access to the
> DXE protocol database, nor is it needed, since it may be assumed that
> the MM execution context is fully configured by the time the DXE phase
> starts.
> 
> Jagadeesh's proposal is to factor this out, and create two different
> .INFs to build the same DXE runtime driver in two different ways. This
> defeats the purpose of having an abstract MM communication protocol,
> so it is something I would like to avoid. On the other hand, is it not
> obvious how to parameterize this requirement in another way.
> 
> For the moment, I could live with putting this into a library, and
> leave it up to the platform to ensure the combination of the library
> resolution with the driver that produces the MM communicate protocol
> is a sane one.
> 
> Any thoughts?

I think I'm missing the gist of the library approach; still, would it be
possible for affected platforms (i.e. those that depend on standalone
MM) to procude the necessary DXE protocols (for unblocking the variable
runtime driver) in a platform DXE driver?

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to