[Linaro-uefi,linaro-uefi,v2,2/4] Platforms/ARM/VExpress: Define extents of MM communication buffer

Message ID 1483545044-21489-3-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>

The secure world firmware (e.g. ARM Trusted Firmware) allocates the
communication buffer used in the MM Communicate SMC. EDK2 is expected to map
this buffer in its own address map. In the absence of a mechanism where ARM TF
can pass the extents of this buffer at runtime to EDK2, this patch hard codes
this information in the UEFI binary for the ARM FVP.

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

Comments

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

On 4 January 2017 at 15:50,  <achin.gupta@arm.com> wrote:
> From: Achin Gupta <achin.gupta@arm.com>
>
> The secure world firmware (e.g. ARM Trusted Firmware) allocates the
> communication buffer used in the MM Communicate SMC.

As a follow on from "What's an MM?" in my previous reply, what's an
"MM Communicate SMC"?


> EDK2 is expected to map
> this buffer in its own address map. In the absence of a mechanism where ARM TF
> can pass the extents of this buffer at runtime to EDK2, this patch hard codes
> this information in the UEFI binary for the ARM FVP.
>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
> ---
>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> index 82acd87..c76da5d 100644
> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> @@ -127,6 +127,11 @@
>    ## Trustzone enable (to make the transition from EL3 to NS EL2 in ArmPlatformPkg/Sec)
>    gArmTokenSpaceGuid.PcdTrustzoneSupport|TRUE
>
> +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
> +  gArmTokenSpaceGuid.PcdMmBufferBase|0xFBE00000
> +  gArmTokenSpaceGuid.PcdMmBufferSize|0x200000
> +!endif
> +
>    #
>    # ARM PrimeCell
>    #
> --
> 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 82acd87..c76da5d 100644
--- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
+++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
@@ -127,6 +127,11 @@ 
   ## Trustzone enable (to make the transition from EL3 to NS EL2 in ArmPlatformPkg/Sec)
   gArmTokenSpaceGuid.PcdTrustzoneSupport|TRUE
 
+!if $(ARM_STANDALONE_MM_ENABLE) == TRUE
+  gArmTokenSpaceGuid.PcdMmBufferBase|0xFBE00000
+  gArmTokenSpaceGuid.PcdMmBufferSize|0x200000
+!endif
+
   #
   # ARM PrimeCell
   #