From: Achin Gupta achin.gupta@arm.com
Hi,
This patchset incorporates changes to the AArch64StandaloneMm branch that:
1. Update the size of the MM communication buffer shared between the normal and secure worlds
2. Restore the size of the secure partition of the DRAM to 16MB instead of 64MB
I would like the AArch64StandaloneMm branch to be force updated with this patch stack on top of the latest master branch. Please ignore any patches posted previously in this regard.
cheers, Achin
Achin Gupta (3): Platforms/ARM/VExpress: Define extents of MM communication buffer Platforms/ARM/VExpress: Include MM communication protocol driver Platforms/ARM/VExpress: Include UEFI Info application in FVP build
Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 14 ++++++++++++++ Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 6 ++++++ 2 files changed, 20 insertions(+)
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(+)
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index 1e95971..871c8c9 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -119,6 +119,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|0xFF600000 + gArmTokenSpaceGuid.PcdMmBufferSize|0x10000 +!endif + # # ARM PrimeCell #
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 Reviewed-by: Leif Lindholm leif.lindholm@linaro.org --- 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 871c8c9..3468a62 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -41,6 +41,9 @@
[LibraryClasses.common] ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf +!if $(ARM_STANDALONE_MM_ENABLE) == TRUE + ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf +!endif ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
@@ -282,6 +285,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 39fa325..87f64a5 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 #
From: Achin Gupta achin.gupta@arm.com
This patch includes the UEFI Info application in the FVP build to demonstrate communication with the MM environment in the secure world through the DXE runtime driver that exports the EFI_MM_COMMUNICATE_PROTOCOL.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Achin Gupta achin.gupta@arm.com Reviewed-by: Leif Lindholm leif.lindholm@linaro.org --- Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 1 + Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 1 + 2 files changed, 2 insertions(+)
diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc index 3468a62..78cdd73 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc @@ -288,6 +288,7 @@ !if $(ARM_STANDALONE_MM_ENABLE) == TRUE # Standalone MM Support ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf + MdeModulePkg/Application/UefiInfoApp/UefiInfo.inf !endif
# diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf index 87f64a5..f148d2b 100644 --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf @@ -145,6 +145,7 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0 !if $(ARM_STANDALONE_MM_ENABLE) == TRUE # Standalone MM Support INF ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf + INF MdeModulePkg/Application/UefiInfoApp/UefiInfo.inf !endif
#
On Wed, May 24, 2017 at 11:41:45AM +0100, achin.gupta@arm.com wrote:
From: Achin Gupta achin.gupta@arm.com
Hi,
This patchset incorporates changes to the AArch64StandaloneMm branch that:
Update the size of the MM communication buffer shared between the normal and secure worlds
Restore the size of the secure partition of the DRAM to 16MB instead of 64MB
I would like the AArch64StandaloneMm branch to be force updated with this patch stack on top of the latest master branch. Please ignore any patches posted previously in this regard.
cheers, Achin
Looks fine. Pushed to AArch64StandaloneMm as d81e304...40ee0b9.
Achin Gupta (3): Platforms/ARM/VExpress: Define extents of MM communication buffer Platforms/ARM/VExpress: Include MM communication protocol driver Platforms/ARM/VExpress: Include UEFI Info application in FVP build
Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 14 ++++++++++++++ Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf | 6 ++++++ 2 files changed, 20 insertions(+)
-- 1.9.1