[Linaro-uefi,linaro-uefi,v2,3/4] Platforms/ARM/VExpress: Include MM communication protocol driver

Message ID 1483545044-21489-4-git-send-email-achin.gupta@arm.com
State New
Headers show

Commit Message

Achin Gupta Jan. 4, 2017, 3:50 p.m.
From: Achin Gupta <achin.gupta@arm.com>

This patch includes the DXE runtime driver that exports the
EFI_MM_COMMUNICATION_PROTOCOL for the FVP platform. This driver is responsible
for handling communication with the MM environment in the secure world. An
implementation of the ARM SVC lib is also include in the FVP build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Achin Gupta <achin.gupta@arm.com>
---
 Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++
 Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 5 +++++
 2 files changed, 13 insertions(+)

Comments

Ryan Harkin Jan. 4, 2017, 5:22 p.m. | #1
Hi Achin,

On 4 January 2017 at 15:50,  <achin.gupta@arm.com> wrote:
> From: Achin Gupta <achin.gupta@arm.com>
>
> This patch includes the DXE runtime driver that exports the
> EFI_MM_COMMUNICATION_PROTOCOL for the FVP platform. This driver is responsible
> for handling communication with the MM environment in the secure world. An
> implementation of the ARM SVC lib is also include in the FVP build.

s/include/included/


>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
> ---
>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++
>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 5 +++++
>  2 files changed, 13 insertions(+)
>
> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> index c76da5d..bc115e1 100644
> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> @@ -40,6 +40,9 @@
>
>  [LibraryClasses.common]
>    ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> +  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
> +!endif
>    ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
>    ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
>    ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
> @@ -294,6 +297,11 @@
>
>    MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>
> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> +  # Standalone MM Support
> +  ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf

I've just spotted the .inf filename. I think "convention" tells us the
.inf is the same name as the higher level directory name, ie.
MmCommunicationDxe.inf. Not sure if it's anything more than common
practice, but it's worth checking.

> +!endif
> +
>    #
>    # Semi-hosting filesystem
>    #
> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> index 2ace4d8..0d9895b 100644
> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> @@ -142,6 +142,11 @@ FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
>    #
>    INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>
> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> +  # Standalone MM Support
> +  INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
> +!endif
> +
>    #
>    # Platform Driver
>    #
> --
> 1.9.1
>
> _______________________________________________
> Linaro-uefi mailing list
> Linaro-uefi@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/linaro-uefi
Ryan Harkin Jan. 4, 2017, 5:27 p.m. | #2
On 4 January 2017 at 17:22, Ryan Harkin <ryan.harkin@linaro.org> wrote:
> Hi Achin,
>
> On 4 January 2017 at 15:50,  <achin.gupta@arm.com> wrote:
>> From: Achin Gupta <achin.gupta@arm.com>
>>
>> This patch includes the DXE runtime driver that exports the
>> EFI_MM_COMMUNICATION_PROTOCOL for the FVP platform. This driver is responsible
>> for handling communication with the MM environment in the secure world. An
>> implementation of the ARM SVC lib is also include in the FVP build.
>
> s/include/included/
>
>
>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
>> ---
>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++
>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 5 +++++
>>  2 files changed, 13 insertions(+)
>>
>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> index c76da5d..bc115e1 100644
>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> @@ -40,6 +40,9 @@
>>
>>  [LibraryClasses.common]
>>    ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> +  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
>> +!endif
>>    ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
>>    ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
>>    ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
>> @@ -294,6 +297,11 @@
>>
>>    MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>>
>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> +  # Standalone MM Support
>> +  ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>
> I've just spotted the .inf filename. I think "convention" tells us the
> .inf is the same name as the higher level directory name, ie.
> MmCommunicationDxe.inf. Not sure if it's anything more than common
> practice, but it's worth checking.
>

Actually, I can't find MmCommunicationDxe added in this patch series
and it isn't already in the tree. I don't see any other reference to
it in my inbox either... :-/


>> +!endif
>> +
>>    #
>>    # Semi-hosting filesystem
>>    #
>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> index 2ace4d8..0d9895b 100644
>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> @@ -142,6 +142,11 @@ FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
>>    #
>>    INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>>
>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> +  # Standalone MM Support
>> +  INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>> +!endif
>> +
>>    #
>>    # Platform Driver
>>    #
>> --
>> 1.9.1
>>
>> _______________________________________________
>> Linaro-uefi mailing list
>> Linaro-uefi@lists.linaro.org
>> https://lists.linaro.org/mailman/listinfo/linaro-uefi
Ryan Harkin Jan. 4, 2017, 6:06 p.m. | #3
On 4 January 2017 at 17:27, Ryan Harkin <ryan.harkin@linaro.org> wrote:
> On 4 January 2017 at 17:22, Ryan Harkin <ryan.harkin@linaro.org> wrote:
>> Hi Achin,
>>
>> On 4 January 2017 at 15:50,  <achin.gupta@arm.com> wrote:
>>> From: Achin Gupta <achin.gupta@arm.com>
>>>
>>> This patch includes the DXE runtime driver that exports the
>>> EFI_MM_COMMUNICATION_PROTOCOL for the FVP platform. This driver is responsible
>>> for handling communication with the MM environment in the secure world. An
>>> implementation of the ARM SVC lib is also include in the FVP build.
>>
>> s/include/included/
>>
>>
>>>
>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
>>> ---
>>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++
>>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 5 +++++
>>>  2 files changed, 13 insertions(+)
>>>
>>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>>> index c76da5d..bc115e1 100644
>>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>>> @@ -40,6 +40,9 @@
>>>
>>>  [LibraryClasses.common]
>>>    ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>>> +  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
>>> +!endif
>>>    ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
>>>    ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
>>>    ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
>>> @@ -294,6 +297,11 @@
>>>
>>>    MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>>>
>>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>>> +  # Standalone MM Support
>>> +  ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>>
>> I've just spotted the .inf filename. I think "convention" tells us the
>> .inf is the same name as the higher level directory name, ie.
>> MmCommunicationDxe.inf. Not sure if it's anything more than common
>> practice, but it's worth checking.
>>
>
> Actually, I can't find MmCommunicationDxe added in this patch series
> and it isn't already in the tree. I don't see any other reference to
> it in my inbox either... :-/
>

OK, so I've now read 0/4 and assume it's in the github tree... sorry about that.


>
>>> +!endif
>>> +
>>>    #
>>>    # Semi-hosting filesystem
>>>    #
>>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>>> index 2ace4d8..0d9895b 100644
>>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>>> @@ -142,6 +142,11 @@ FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
>>>    #
>>>    INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>>>
>>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>>> +  # Standalone MM Support
>>> +  INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>>> +!endif
>>> +
>>>    #
>>>    # Platform Driver
>>>    #
>>> --
>>> 1.9.1
>>>
>>> _______________________________________________
>>> Linaro-uefi mailing list
>>> Linaro-uefi@lists.linaro.org
>>> https://lists.linaro.org/mailman/listinfo/linaro-uefi
Achin Gupta Jan. 5, 2017, 9:49 a.m. | #4
Hi Ryan,

On Wed, Jan 04, 2017 at 06:06:38PM +0000, Ryan Harkin wrote:
> On 4 January 2017 at 17:27, Ryan Harkin <ryan.harkin@linaro.org> wrote:
> > On 4 January 2017 at 17:22, Ryan Harkin <ryan.harkin@linaro.org> wrote:
> >> Hi Achin,
> >>
> >> On 4 January 2017 at 15:50,  <achin.gupta@arm.com> wrote:
> >>> From: Achin Gupta <achin.gupta@arm.com>
> >>>
> >>> This patch includes the DXE runtime driver that exports the
> >>> EFI_MM_COMMUNICATION_PROTOCOL for the FVP platform. This driver is responsible
> >>> for handling communication with the MM environment in the secure world. An
> >>> implementation of the ARM SVC lib is also include in the FVP build.
> >>
> >> s/include/included/
> >>
> >>
> >>>
> >>> Contributed-under: TianoCore Contribution Agreement 1.0
> >>> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
> >>> ---
> >>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++
> >>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 5 +++++
> >>>  2 files changed, 13 insertions(+)
> >>>
> >>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> >>> index c76da5d..bc115e1 100644
> >>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> >>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> >>> @@ -40,6 +40,9 @@
> >>>
> >>>  [LibraryClasses.common]
> >>>    ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> >>> +  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
> >>> +!endif
> >>>    ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
> >>>    ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
> >>>    ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
> >>> @@ -294,6 +297,11 @@
> >>>
> >>>    MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> >>>
> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> >>> +  # Standalone MM Support
> >>> +  ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
> >>
> >> I've just spotted the .inf filename. I think "convention" tells us the
> >> .inf is the same name as the higher level directory name, ie.
> >> MmCommunicationDxe.inf. Not sure if it's anything more than common
> >> practice, but it's worth checking.
> >>
> >
> > Actually, I can't find MmCommunicationDxe added in this patch series
> > and it isn't already in the tree. I don't see any other reference to
> > it in my inbox either... :-/
> >
>
> OK, so I've now read 0/4 and assume it's in the github tree... sorry about that.

No worries and thanks for the feedback. This patchset is still a WIP but I will
make sure that I roll in your comments before pushing them to master. I hope
that is ok.

cheers,
Achin

>
>
> >
> >>> +!endif
> >>> +
> >>>    #
> >>>    # Semi-hosting filesystem
> >>>    #
> >>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> >>> index 2ace4d8..0d9895b 100644
> >>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> >>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> >>> @@ -142,6 +142,11 @@ FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
> >>>    #
> >>>    INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> >>>
> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> >>> +  # Standalone MM Support
> >>> +  INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
> >>> +!endif
> >>> +
> >>>    #
> >>>    # Platform Driver
> >>>    #
> >>> --
> >>> 1.9.1
> >>>
> >>> _______________________________________________
> >>> Linaro-uefi mailing list
> >>> Linaro-uefi@lists.linaro.org
> >>> https://lists.linaro.org/mailman/listinfo/linaro-uefi
Ryan Harkin Jan. 5, 2017, 9:50 a.m. | #5
Hi Achin,

On 5 January 2017 at 09:49, Achin Gupta <achin.gupta@arm.com> wrote:
> Hi Ryan,
>
> On Wed, Jan 04, 2017 at 06:06:38PM +0000, Ryan Harkin wrote:
>> On 4 January 2017 at 17:27, Ryan Harkin <ryan.harkin@linaro.org> wrote:
>> > On 4 January 2017 at 17:22, Ryan Harkin <ryan.harkin@linaro.org> wrote:
>> >> Hi Achin,
>> >>
>> >> On 4 January 2017 at 15:50,  <achin.gupta@arm.com> wrote:
>> >>> From: Achin Gupta <achin.gupta@arm.com>
>> >>>
>> >>> This patch includes the DXE runtime driver that exports the
>> >>> EFI_MM_COMMUNICATION_PROTOCOL for the FVP platform. This driver is responsible
>> >>> for handling communication with the MM environment in the secure world. An
>> >>> implementation of the ARM SVC lib is also include in the FVP build.
>> >>
>> >> s/include/included/
>> >>
>> >>
>> >>>
>> >>> Contributed-under: TianoCore Contribution Agreement 1.0
>> >>> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
>> >>> ---
>> >>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++
>> >>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 5 +++++
>> >>>  2 files changed, 13 insertions(+)
>> >>>
>> >>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> >>> index c76da5d..bc115e1 100644
>> >>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> >>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> >>> @@ -40,6 +40,9 @@
>> >>>
>> >>>  [LibraryClasses.common]
>> >>>    ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> >>> +  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
>> >>> +!endif
>> >>>    ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
>> >>>    ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
>> >>>    ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
>> >>> @@ -294,6 +297,11 @@
>> >>>
>> >>>    MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>> >>>
>> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> >>> +  # Standalone MM Support
>> >>> +  ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>> >>
>> >> I've just spotted the .inf filename. I think "convention" tells us the
>> >> .inf is the same name as the higher level directory name, ie.
>> >> MmCommunicationDxe.inf. Not sure if it's anything more than common
>> >> practice, but it's worth checking.
>> >>
>> >
>> > Actually, I can't find MmCommunicationDxe added in this patch series
>> > and it isn't already in the tree. I don't see any other reference to
>> > it in my inbox either... :-/
>> >
>>
>> OK, so I've now read 0/4 and assume it's in the github tree... sorry about that.
>
> No worries and thanks for the feedback. This patchset is still a WIP but I will
> make sure that I roll in your comments before pushing them to master. I hope
> that is ok.
>

That's fine with me.

But could you tell me what MM stands for? I'm assuming it's not
multimedia and that one of the Ms is Memory.

Cheers,
Ryan.

> cheers,
> Achin
>
>>
>>
>> >
>> >>> +!endif
>> >>> +
>> >>>    #
>> >>>    # Semi-hosting filesystem
>> >>>    #
>> >>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> >>> index 2ace4d8..0d9895b 100644
>> >>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> >>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> >>> @@ -142,6 +142,11 @@ FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
>> >>>    #
>> >>>    INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>> >>>
>> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> >>> +  # Standalone MM Support
>> >>> +  INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>> >>> +!endif
>> >>> +
>> >>>    #
>> >>>    # Platform Driver
>> >>>    #
>> >>> --
>> >>> 1.9.1
>> >>>
>> >>> _______________________________________________
>> >>> Linaro-uefi mailing list
>> >>> Linaro-uefi@lists.linaro.org
>> >>> https://lists.linaro.org/mailman/listinfo/linaro-uefi
Achin Gupta Jan. 5, 2017, 10:06 a.m. | #6
Hi Ryan,

On Thu, Jan 05, 2017 at 09:50:36AM +0000, Ryan Harkin wrote:
> Hi Achin,
>
> On 5 January 2017 at 09:49, Achin Gupta <achin.gupta@arm.com> wrote:
> > Hi Ryan,
> >
> > On Wed, Jan 04, 2017 at 06:06:38PM +0000, Ryan Harkin wrote:
> >> On 4 January 2017 at 17:27, Ryan Harkin <ryan.harkin@linaro.org> wrote:
> >> > On 4 January 2017 at 17:22, Ryan Harkin <ryan.harkin@linaro.org> wrote:
> >> >> Hi Achin,
> >> >>
> >> >> On 4 January 2017 at 15:50,  <achin.gupta@arm.com> wrote:
> >> >>> From: Achin Gupta <achin.gupta@arm.com>
> >> >>>
> >> >>> This patch includes the DXE runtime driver that exports the
> >> >>> EFI_MM_COMMUNICATION_PROTOCOL for the FVP platform. This driver is responsible
> >> >>> for handling communication with the MM environment in the secure world. An
> >> >>> implementation of the ARM SVC lib is also include in the FVP build.
> >> >>
> >> >> s/include/included/
> >> >>
> >> >>
> >> >>>
> >> >>> Contributed-under: TianoCore Contribution Agreement 1.0
> >> >>> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
> >> >>> ---
> >> >>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++
> >> >>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 5 +++++
> >> >>>  2 files changed, 13 insertions(+)
> >> >>>
> >> >>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> >> >>> index c76da5d..bc115e1 100644
> >> >>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> >> >>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> >> >>> @@ -40,6 +40,9 @@
> >> >>>
> >> >>>  [LibraryClasses.common]
> >> >>>    ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
> >> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> >> >>> +  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
> >> >>> +!endif
> >> >>>    ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
> >> >>>    ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
> >> >>>    ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
> >> >>> @@ -294,6 +297,11 @@
> >> >>>
> >> >>>    MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> >> >>>
> >> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> >> >>> +  # Standalone MM Support
> >> >>> +  ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
> >> >>
> >> >> I've just spotted the .inf filename. I think "convention" tells us the
> >> >> .inf is the same name as the higher level directory name, ie.
> >> >> MmCommunicationDxe.inf. Not sure if it's anything more than common
> >> >> practice, but it's worth checking.
> >> >>
> >> >
> >> > Actually, I can't find MmCommunicationDxe added in this patch series
> >> > and it isn't already in the tree. I don't see any other reference to
> >> > it in my inbox either... :-/
> >> >
> >>
> >> OK, so I've now read 0/4 and assume it's in the github tree... sorry about that.
> >
> > No worries and thanks for the feedback. This patchset is still a WIP but I will
> > make sure that I roll in your comments before pushing them to master. I hope
> > that is ok.
> >
>
> That's fine with me.
>
> But could you tell me what MM stands for? I'm assuming it's not
> multimedia and that one of the Ms is Memory.

sorry about that! MM stands for Management Mode. It is better known as System
Management Mode (SMM) on x86 platforms. It has been traditionally used to
implementing OS agnostic firmware services. The PI Vol4. spec. defines
interfaces for instantiating SW support for MM. I am working on doing this for
AArch64 platforms.

I hope that makes it a bit clearer. Please let me know if you need more
information.

Thanks,
Achin

>
> Cheers,
> Ryan.
>
> > cheers,
> > Achin
> >
> >>
> >>
> >> >
> >> >>> +!endif
> >> >>> +
> >> >>>    #
> >> >>>    # Semi-hosting filesystem
> >> >>>    #
> >> >>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> >> >>> index 2ace4d8..0d9895b 100644
> >> >>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> >> >>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
> >> >>> @@ -142,6 +142,11 @@ FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
> >> >>>    #
> >> >>>    INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
> >> >>>
> >> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> >> >>> +  # Standalone MM Support
> >> >>> +  INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
> >> >>> +!endif
> >> >>> +
> >> >>>    #
> >> >>>    # Platform Driver
> >> >>>    #
> >> >>> --
> >> >>> 1.9.1
> >> >>>
> >> >>> _______________________________________________
> >> >>> Linaro-uefi mailing list
> >> >>> Linaro-uefi@lists.linaro.org
> >> >>> https://lists.linaro.org/mailman/listinfo/linaro-uefi
Ryan Harkin Jan. 5, 2017, 10:21 a.m. | #7
Thanks Achin,

On 5 January 2017 at 10:06, Achin Gupta <achin.gupta@arm.com> wrote:
> Hi Ryan,
>
> On Thu, Jan 05, 2017 at 09:50:36AM +0000, Ryan Harkin wrote:
>> Hi Achin,
>>
>> On 5 January 2017 at 09:49, Achin Gupta <achin.gupta@arm.com> wrote:
>> > Hi Ryan,
>> >
>> > On Wed, Jan 04, 2017 at 06:06:38PM +0000, Ryan Harkin wrote:
>> >> On 4 January 2017 at 17:27, Ryan Harkin <ryan.harkin@linaro.org> wrote:
>> >> > On 4 January 2017 at 17:22, Ryan Harkin <ryan.harkin@linaro.org> wrote:
>> >> >> Hi Achin,
>> >> >>
>> >> >> On 4 January 2017 at 15:50,  <achin.gupta@arm.com> wrote:
>> >> >>> From: Achin Gupta <achin.gupta@arm.com>
>> >> >>>
>> >> >>> This patch includes the DXE runtime driver that exports the
>> >> >>> EFI_MM_COMMUNICATION_PROTOCOL for the FVP platform. This driver is responsible
>> >> >>> for handling communication with the MM environment in the secure world. An
>> >> >>> implementation of the ARM SVC lib is also include in the FVP build.
>> >> >>
>> >> >> s/include/included/
>> >> >>
>> >> >>
>> >> >>>
>> >> >>> Contributed-under: TianoCore Contribution Agreement 1.0
>> >> >>> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
>> >> >>> ---
>> >> >>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 8 ++++++++
>> >> >>>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 5 +++++
>> >> >>>  2 files changed, 13 insertions(+)
>> >> >>>
>> >> >>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> >> >>> index c76da5d..bc115e1 100644
>> >> >>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> >> >>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
>> >> >>> @@ -40,6 +40,9 @@
>> >> >>>
>> >> >>>  [LibraryClasses.common]
>> >> >>>    ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>> >> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> >> >>> +  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
>> >> >>> +!endif
>> >> >>>    ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
>> >> >>>    ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
>> >> >>>    ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
>> >> >>> @@ -294,6 +297,11 @@
>> >> >>>
>> >> >>>    MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>> >> >>>
>> >> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> >> >>> +  # Standalone MM Support
>> >> >>> +  ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>> >> >>
>> >> >> I've just spotted the .inf filename. I think "convention" tells us the
>> >> >> .inf is the same name as the higher level directory name, ie.
>> >> >> MmCommunicationDxe.inf. Not sure if it's anything more than common
>> >> >> practice, but it's worth checking.
>> >> >>
>> >> >
>> >> > Actually, I can't find MmCommunicationDxe added in this patch series
>> >> > and it isn't already in the tree. I don't see any other reference to
>> >> > it in my inbox either... :-/
>> >> >
>> >>
>> >> OK, so I've now read 0/4 and assume it's in the github tree... sorry about that.
>> >
>> > No worries and thanks for the feedback. This patchset is still a WIP but I will
>> > make sure that I roll in your comments before pushing them to master. I hope
>> > that is ok.
>> >
>>
>> That's fine with me.
>>
>> But could you tell me what MM stands for? I'm assuming it's not
>> multimedia and that one of the Ms is Memory.
>
> sorry about that! MM stands for Management Mode. It is better known as System
> Management Mode (SMM) on x86 platforms. It has been traditionally used to
> implementing OS agnostic firmware services. The PI Vol4. spec. defines
> interfaces for instantiating SW support for MM. I am working on doing this for
> AArch64 platforms.
>
> I hope that makes it a bit clearer. Please let me know if you need more
> information.
>

That's what I wanted to know. I can work it out from there (or ignore
it until it becomes a hot topic!).

Cheers,
Ryan.

> Thanks,
> Achin
>
>>
>> Cheers,
>> Ryan.
>>
>> > cheers,
>> > Achin
>> >
>> >>
>> >>
>> >> >
>> >> >>> +!endif
>> >> >>> +
>> >> >>>    #
>> >> >>>    # Semi-hosting filesystem
>> >> >>>    #
>> >> >>> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> >> >>> index 2ace4d8..0d9895b 100644
>> >> >>> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> >> >>> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
>> >> >>> @@ -142,6 +142,11 @@ FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
>> >> >>>    #
>> >> >>>    INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
>> >> >>>
>> >> >>> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
>> >> >>> +  # Standalone MM Support
>> >> >>> +  INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>> >> >>> +!endif
>> >> >>> +
>> >> >>>    #
>> >> >>>    # Platform Driver
>> >> >>>    #
>> >> >>> --
>> >> >>> 1.9.1
>> >> >>>
>> >> >>> _______________________________________________
>> >> >>> Linaro-uefi mailing list
>> >> >>> Linaro-uefi@lists.linaro.org
>> >> >>> https://lists.linaro.org/mailman/listinfo/linaro-uefi

Patch hide | download patch | download mbox

diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
index c76da5d..bc115e1 100644
--- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
+++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
@@ -40,6 +40,9 @@ 
 
 [LibraryClasses.common]
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
+!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
+  ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
+!endif
   ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
   ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
   ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
@@ -294,6 +297,11 @@ 
 
   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
 
+!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
+  # Standalone MM Support
+  ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
+!endif
+
   #
   # Semi-hosting filesystem
   #
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
index 2ace4d8..0d9895b 100644
--- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
+++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf
@@ -142,6 +142,11 @@  FvNameGuid         = 87940482-fc81-41c3-87e6-399cf85ac8a0
   #
   INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
 
+!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
+  # Standalone MM Support
+  INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
+!endif
+
   #
   # Platform Driver
   #