From: Rebecca Cran <rebecca@bluestop.org>
To: Supreeth Venkatesh <supreeth.venkatesh@arm.com>, edk2-devel@lists.01.org
Cc: jiewen.yao@intel.com, leif.lindholm@linaro.org
Subject: Re: [RFC v1 00/15] *** Proposal for StandaloneMmPkg ***
Date: Sat, 18 Nov 2017 13:10:53 -0700 [thread overview]
Message-ID: <16a8ba1d-7c63-79ca-e8c8-49ea701d7216@bluestop.org> (raw)
In-Reply-To: <20171117230800.29216-1-supreeth.venkatesh@arm.com>
Could there be any confusion between 'MM' meaning Management Mode and
Memory Management?
--
Rebecca
On 11/17/2017 4:07 PM, Supreeth Venkatesh wrote:
> ***
> PI Specification v1.5 "Volume 4: Management Mode Core Interface"
> introduces the concept of MM Standalone Mode. Initialization of this mode
> can be done during the SEC phase (Section 1.5.2).
> On ARMv8-A systems, ARM Trusted Firmware is responsible for launching
> the normal world firmware e.g. UEFI.
>
> The Standalone MM environment is instantiated in Secure EL0 as a separate
> firmware volume. It executes as BL32 Image under control of ARM TF
> which is instantiated in EL3. Both components execute in the AArch64 execution state.
> This patchset will build upon the StandaloneSmmPkg module originally
> contributed by Intel.
>
> This package can be used in conjunction with ARM Trusted Firmware
> to recreate a simple MM secure environment that demonstrates communication
> between two UEFI images where one is executing in the normal world and the other is
> executing in the secure world.
>
> The normal world image includes:
> MM Communication DXE runtime driver that implements the protocol for communication
> with the MM environment in the secure world.
>
> The secure world image includes:
> The MM Standalone framework.
>
> This RFC patchset includes the proposed organization/structure and
> has architecture agnostic core changes only as a first pass.
> Once the organization/structure have been agreed upon, patchset for
> supporting libraries and AARCH64 implementation will be sent.
>
> Steps to build MM Standalone images
> In user preferred "work" directory, execute the following shell commands
>
> git clone https://github.com/tianocore/edk2.git
> git checkout master
>
> git clone https://github.com/tianocore/edk2-platforms.git
> git checkout master
>
> mkdir arm-tf
> cd arm-tf
> git clone https://github.com/ARM-software/arm-trusted-firmware.git .
> git checkout master
> cd ..
>
> git clone https://git.linaro.org/uefi/uefi-tools.git .
> git checkout master
>
> The following will build the MM Standalone image which runs in secure world.
> ./uefi-tools/edk2-build.sh -b DEBUG fvp_mm_standalone
>
> The follwing will build the normal world UEFI image, ARM Trusted Firmware and
> a Firmware Image Package (FIP) that includes both the UEFI images.
> ./uefi-tools/edk2-build.sh -a ./arm-tf -b DEBUG fvp_mm_normal
>
> Boot Loader Stage 1 (BL1) binary and combined arm-tf/uefi firmware image package (fip) binary will be generated at:
>
> Build Output
> Build/ArmVExpress-FVP-AArch64-MM-Normal/DEBUG_GCC5/FV/bl1.bin
> Build/ArmVExpress-FVP-AArch64-MM-Normal/DEBUG_GCC5/FV/fip.bin
>
> Steps to run MM Standalone image
> 1. Download the ARMv8 Architecture FVP from
> https://silver.arm.com/download/download.tm?pv=3744408&p=1424570
> For more information, please refer
> https://developer.arm.com/products/system-design/fixed-virtual-platforms
> 2. Install FVP into preferred "work" directory.
> 3. Create a shell script "run_mm.sh" in the same folder where "FVP_Base_AEMv8A-AEMv8A" is present.
> Sample Shell script below:
> ./FVP_Base_AEMv8A-AEMv8A
> -C cache_state_modelled=0
> -C bp.secure_memory=1
> -C bp.tzc_400.diagnostics=1
> -C bp.pl011_uart0.untimed_fifos=0
> -C cluster1.NUM_CORES=4
> -C cluster0.NUM_CORES=4
> -C bp.pl011_uart0.out_file=uart0.output
> -C bp.pl011_uart1.out_file=uart1.output
> -C bp.pl011_uart2.out_file=uart2.output
> -C bp.pl011_uart3.out_file=uart3.output
> -C bp.secureflashloader.fname=""
> -C bp.flashloader0.fname=""
> -S -R
> 4. ./run_mm.sh
> 5. Output can be seen on FVP console.
> 6. The normal world will boot to the UEFI shell.
>
> Sample Output
>
> MM Standalone Output (FVP UART2)
> SPM Version: Major=0x0, Minor=0x1
> NumSpMemRegions - 0x6
> SpMemBase - 0xFF200000
> SpMemLimit - 0x100000000
> SpImageBase - 0xFF200000
> SpStackBase - 0xFF610000
> SpHeapBase - 0xFF620000
> SpNsCommBufBase - 0xFF600000
> SpSharedBufBase - 0xFF500000
> SpImageSize - 0x300000
> SpPcpuStackSize - 0x2000
> SpHeapSize - 0x9E0000
> SpNsCommBufSize - 0x10000
> SpPcpuSharedBufSize - 0x20000
> NumCpus - 0x8
> CpuInfo - 0xFF500680
> Mpidr - 0x80000000
> LinearId - 0x0
> Flags - 0x1
> Mpidr - 0x80000001
> LinearId - 0x1
> Flags - 0x0
> Mpidr - 0x80000002
> LinearId - 0x2
> Flags - 0x0
> Mpidr - 0x80000003
> LinearId - 0x3
> Flags - 0x0
> Mpidr - 0x80000100
> LinearId - 0x4
> Flags - 0x0
> Mpidr - 0x80000101
> LinearId - 0x5
> Flags - 0x0
> Mpidr - 0x80000102
> LinearId - 0x6
> Flags - 0x0
> Mpidr - 0x80000103
> LinearId - 0x7
> Flags - 0x0
> Found Standalone MM PE data - 0xFF201000
> Found Standalone MM PE data - 0xFF201000
> Standalone MM Core PE-COFF SectionHeaderOffset - 0xF60, NumberOfSections - 3
> UpdateMmFoundationPeCoffPermissions: Section 0 of image at 0xFF201000 has 0x60000020 permissions
> UpdateMmFoundationPeCoffPermissions: Section 0 of image at 0xFF201000 has .et name
> UpdateMmFoundationPeCoffPermissions: Section 0 of image at 0xFF201000 has 0xFF202000 address
> UpdateMmFoundationPeCoffPermissions: Section 0 of image at 0xFF201000 has 0x1000 data
> UpdateMmFoundationPeCoffPermissions: Ignoring section 0 of image at 0xFF201000 with 0x60000020 permissions
> UpdateMmFoundationPeCoffPermissions: Section 1 of image at 0xFF201000 has 0xC0000040 permissions
> UpdateMmFoundationPeCoffPermissions: Section 1 of image at 0xFF201000 has .aa name
> UpdateMmFoundationPeCoffPermissions: Section 1 of image at 0xFF201000 has 0xFF217000 address
> UpdateMmFoundationPeCoffPermissions: Section 1 of image at 0xFF201000 has 0x16000 data
> UpdateMmFoundationPeCoffPermissions: Mapping section 1 of image at 0xFF201000 with RW-XN permissions
> UpdateMmFoundationPeCoffPermissions: Section 2 of image at 0xFF201000 has 0x42000040 permissions
> UpdateMmFoundationPeCoffPermissions: Section 2 of image at 0xFF201000 has .eo name
> UpdateMmFoundationPeCoffPermissions: Section 2 of image at 0xFF201000 has 0xFF218000 address
> UpdateMmFoundationPeCoffPermissions: Section 2 of image at 0xFF201000 has 0x17000 data
> UpdateMmFoundationPeCoffPermissions: Mapping section 2 of image at 0xFF201000 with RO-XN permissions
> StandaloneMmCoreMemoryAllocationLibConstructor - 0xFF620000
> MmramRangeCount - 0x6
> MmramRanges[0]: 0x00000000FF200000 - 0x0000000000300000
> MmramRanges[1]: 0x00000000FF500000 - 0x0000000000100000
> MmramRanges[2]: 0x00000000FF600000 - 0x0000000000010000
> MmramRanges[3]: 0x00000000FF610000 - 0x0000000000010000
> MmramRanges[4]: 0x00000000FF620000 - 0x00000000000002C8
> MmramRanges[5]: 0x00000000FF6202C8 - 0x00000000009DFD38
> MmInitializeMemoryServices
> MmAddMemoryRegion 0 : 0x00000000FF200000 - 0x0000000000300000
> MmAddMemoryRegion 1 : 0x00000000FF500000 - 0x0000000000100000
> MmAddMemoryRegion 2 : 0x00000000FF600000 - 0x0000000000010000
> MmAddMemoryRegion 3 : 0x00000000FF610000 - 0x0000000000010000
> MmAddMemoryRegion 4 : 0x00000000FF620000 - 0x00000000000002C8
> MmAddMemoryRegion 5 : 0x00000000FF6202C8 - 0x00000000009DFD38
> mMmMemLibInternalMaximumSupportAddress = 0xFFFFFFFFF
> MmMain - 0xFF620000
> MmramRangeCount - 0x6
> MmramRanges[0]: 0x00000000FF200000 - 0x300000
> MmramRanges[1]: 0x00000000FF500000 - 0x100000
> MmramRanges[2]: 0x00000000FF600000 - 0x10000
> MmramRanges[3]: 0x00000000FF610000 - 0x10000
> MmramRanges[4]: 0x00000000FF620000 - 0x2C8
> MmramRanges[5]: 0x00000000FF6202C8 - 0x9DFD38
> mMmramRangeCount - 0x6
> mMmramRanges - 0xFFFFEE10
> BFV address - 0xFF200000
> BFV size - 0x300000
> MmInstallConfigurationTable For HobList
> HobSize - 0x2C8
> MmHobStart - 0xFFFFE810
> MmRegisterProtocolNotify - MmConfigurationMmProtocol
> Mm Dispatch StandaloneBfvAddress - 0xFF200000
> MmCoreFfsFindMmDriver - 0xFF200000
> FvIsBeingProcesssed - 0xFF200000
> Check MmFileTypes - 0xA
> Check MmFileTypes - 0xE
> Find PE data - 0xFF219024
> MmAddToDriverList - 58F7A62B-6280-42A7-BC38-10535A64A92C (0xFF219024)
> MmDispatcher
> Drain the Scheduled Queue
> Search DriverList for items to place on Scheduled Queue
> DriverEntry (Discovered) - 58F7A62B-6280-42A7-BC38-10535A64A92C
> Evaluate MM DEPEX for FFS(58F7A62B-6280-42A7-BC38-10535A64A92C)
> TRUE
> END
> RESULT = TRUE
> Drain the Scheduled Queue
> DriverEntry (Scheduled) - 58F7A62B-6280-42A7-BC38-10535A64A92C
> MmLoadImage - 58F7A62B-6280-42A7-BC38-10535A64A92C
> UpdatePeCoffPermissions: Mapping section 0 of image at 0xFFFE7000 with RO-XN permissions and size 0x7000
> UpdatePeCoffPermissions: Mapping section 0 of image at 0xFFFE7000 with RO-X permissions and size 0x7000
> UpdatePeCoffPermissions: Mapping section 1 of image at 0xFFFEE000 with RW-XN permissions and size 0x1000
> UpdatePeCoffPermissions: Mapping section 2 of image at 0xFFFEF000 with RO-XN permissions and size 0x1000
> add-symbol-file /home/supven01/work/mm_upstream/Build/StandaloneMmPkg/DEBUG_GCC5/AARCH64/StandaloneMmPkg/Drivers/CpuMm/Arm/PiMmStandloneArmTfCpuDriver/DEBUG/PiMmStandloneArmTfCpuDriver.dll 0xFFFE7000
> Loading MM driver at 0x000FFFE6000 EntryPoint=0x000FFFE7000 PiMmStandloneArmTfCpuDriver.efi
> StartImage - 0xFFFE7000 (Standalone Mode)
> MmInstallProtocolInterface: 26EEB3DE-B689-492E-80F0-BE8BD7DA4BA7 FFFEE008
> MmConfigurationMmNotify(26EEB3DE-B689-492E-80F0-BE8BD7DA4BA7) - FFFEE008
> MM Core registered MM Entry Point address FF2041C0
> MmInstallProtocolInterface: EB346B97-975F-4A9F-8B22-F8E92BB3D569 FFFEE018
> Sharing Cpu Driver EP *0xFF217280 = 0xFFFE798C
> mNsCommBuffer.PhysicalStart - 0xFF600000
> mNsCommBuffer.PhysicalSize - 0x10000
> mNsCommBuffer: 0x00000000FF600000 - 0x10000
> mMpInformationHobData: 0x0000000000000008 - 0x8
> mMpInformationHobData[0x80000000]: 0, 0, 0
> mMpInformationHobData[0x80000001]: 0, 1, 1
> mMpInformationHobData[0x80000002]: 0, 2, 2
> mMpInformationHobData[0x80000003]: 0, 3, 3
> mMpInformationHobData[0x80000100]: 1, 0, 0
> mMpInformationHobData[0x80000101]: 1, 1, 1
> mMpInformationHobData[0x80000102]: 1, 2, 2
> mMpInformationHobData[0x80000103]: 1, 3, 3
> MmiHandlerRegister - GUID B65694CC-09E3-4C3B-B5CD-05F44D3CDBFF - Status 0
> MmiHandlerRegister - GUID 7081E22F-CAC6-4053-9468-675782CF88E5 - Status 0
> MmiHandlerRegister - GUID 60FF8964-E906-41D0-AFED-F241E974E08E - Status 0
> MmiHandlerRegister - GUID 02CE967A-DD7E-4FFC-9EE7-810CF0470880 - Status 0
> MmiHandlerRegister - GUID 2A571201-4966-47F6-8B86-F31E41F32F10 - Status 0
> MmiHandlerRegister - GUID 27ABF055-B1B8-4C26-8048-748F37BAA2DF - Status 0
> MmiHandlerRegister - GUID 7CE88FB3-4BD7-4679-87A8-A8D8DEE50D2B - Status 0
> MmMain Done!
> Shared Cpu Driver EP 0xFFFE798C
>
> ARM TF (FVP UART0)
> NOTICE: Booting Trusted Firmware
> NOTICE: BL1: v1.4(debug):v1.4-96-gae48aad7-dirty
> NOTICE: BL1: Built : 16:14:26, Nov 1 2017
> INFO: BL1: RAM 0x4036000 - 0x403c000
> INFO: BL1: Loading BL2
> INFO: Loading image id=1 at address 0x4027000
> INFO: Image id=1 loaded: 0x4027000 - 0x402c2a8
> NOTICE: BL1: Booting BL2
> INFO: Entry point address = 0x4027000
> INFO: SPSR = 0x3c5
> NOTICE: BL2: v1.4(debug):v1.4-96-gae48aad7-dirty
> NOTICE: BL2: Built : 16:14:26, Nov 1 2017
> INFO: BL2: Doing platform setup
> INFO: Configuring TrustZone Controller
> INFO: BL2: Loading image id 3
> INFO: Loading image id=3 at address 0xff000000
> INFO: Image id=3 loaded: 0xff000000 - 0xff00c230
> INFO: BL2: Loading image id 4
> INFO: Loading image id=4 at address 0xff200000
> INFO: Image id=4 loaded: 0xff200000 - 0xff480000
> INFO: BL2: Loading image id 5
> INFO: Loading image id=5 at address 0x88000000
> INFO: Image id=5 loaded: 0x88000000 - 0x88280000
> NOTICE: BL1: Booting BL31
> INFO: Entry point address = 0xff000000
> INFO: SPSR = 0x3cd
> NOTICE: BL31: v1.4(debug):v1.4-96-gae48aad7-dirty
> NOTICE: BL31: Built : 16:14:26, Nov 1 2017
> INFO: GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3
> INFO: BL31: Initializing runtime services
> INFO: BL31: Initializing BL32
> NOTICE: Received SPM_MEMORY_ATTRIBUTES_SET SMC
> NOTICE: Start address : 0xff217000
> NOTICE: Number of pages: 1 (4096 bytes)
> NOTICE: Attributes : 0x7
> NOTICE: (Equivalent TF attributes: 0x22)
> NOTICE: Received SPM_MEMORY_ATTRIBUTES_SET SMC
> NOTICE: Start address : 0xff217000
> NOTICE: Number of pages: 1 (4096 bytes)
> NOTICE: Attributes : 0x5
> NOTICE: (Equivalent TF attributes: 0x2a)
> NOTICE: Received SPM_MEMORY_ATTRIBUTES_SET SMC
> NOTICE: Start address : 0xff218000
> NOTICE: Number of pages: 1 (4096 bytes)
> NOTICE: Attributes : 0x7
> NOTICE: (Equivalent TF attributes: 0x22)
> NOTICE: Received SPM_MEMORY_ATTRIBUTES_SET SMC
> NOTICE: Start address : 0xfffe7000
> NOTICE: Number of pages: 7 (28672 bytes)
> NOTICE: Attributes : 0x7
> NOTICE: (Equivalent TF attributes: 0x22)
> NOTICE: Received SPM_MEMORY_ATTRIBUTES_SET SMC
> NOTICE: Start address : 0xfffe7000
> NOTICE: Number of pages: 7 (28672 bytes)
> NOTICE: Attributes : 0x3
> NOTICE: (Equivalent TF attributes: 0x2)
> NOTICE: Received SPM_MEMORY_ATTRIBUTES_SET SMC
> NOTICE: Start address : 0xfffef000
> NOTICE: Number of pages: 1 (4096 bytes)
> NOTICE: Attributes : 0x7
> NOTICE: (Equivalent TF attributes: 0x22)
> INFO: BL31: Preparing for EL3 exit to normal world
> INFO: Entry point address = 0x88000000
> INFO: SPSR = 0x3c9
> UEFI firmware (version built at 16:14:14 on Nov 1 2017)
>
> ***
>
> Supreeth Venkatesh (15):
> ArmPkg/Include: Add MM interface SVC return codes.
> BaseTools/AutoGen: Update header file for MM modules.
> ArmPkg/ArmMmuLib: Add MMU Library suitable for use in S-EL0.
> ArmPkg/ArmMmuLib: Add MMU library inf file suitable for use in S-EL0.
> MdePkg/Include: Add management mode FV file type and depex.
> StandaloneMmPkg/StandaloneMmCoreEntryPoint: Add an AArch64 specific
> entry point library.
> StandaloneMmPkg/HobLib: Add a common HOB Library for management mode.
> StandaloneMmPkg/FvLib: Add a common FV Library for management mode.
> StandaloneMmPkg/MemLib: Instance of management mode memory check
> library.
> StandaloneMmPkg/MemoryAllocationLib: Add MM memory allocation library.
> StandaloneMmPkg/StandaloneMmDriverEntryPoint: MM driver entry point
> library.
> StandaloneMmPkg/CpuMm: Add CPU driver suitable for ARM Standard
> Platforms.
> StandaloneMmPkg/Core: Implementation of Standalone MM Core Module.
> StandaloneMmPkg: Describe the package declaration, definition and fdf
> files.
> ArmPkg/DebugPeCoffExtraActionLib: Add UpdatePeCoffPermissions for
> S-ELO MM.
>
> ArmPkg/Include/IndustryStandard/ArmMmSvc.h | 9 +-
> ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuSecLib.c | 146 +++
> ArmPkg/Library/ArmMmuLib/ArmMmuSecLib.inf | 37 +
> .../DebugPeCoffExtraActionLib.c | 167 ++-
> .../DebugPeCoffExtraActionLib.inf | 7 +
> BaseTools/Source/Python/AutoGen/GenC.py | 16 +-
> MdePkg/Include/Pi/PiFirmwareFile.h | 4 +
> StandaloneMmPkg/Core/Dependency.c | 389 +++++++
> StandaloneMmPkg/Core/Dispatcher.c | 1071 ++++++++++++++++++++
> StandaloneMmPkg/Core/FwVol.c | 104 ++
> StandaloneMmPkg/Core/Handle.c | 533 ++++++++++
> StandaloneMmPkg/Core/InstallConfigurationTable.c | 178 ++++
> StandaloneMmPkg/Core/Locate.c | 496 +++++++++
> StandaloneMmPkg/Core/Mmi.c | 337 ++++++
> StandaloneMmPkg/Core/Notify.c | 203 ++++
> StandaloneMmPkg/Core/Page.c | 384 +++++++
> StandaloneMmPkg/Core/Pool.c | 287 ++++++
> StandaloneMmPkg/Core/StandaloneMmCore.c | 708 +++++++++++++
> StandaloneMmPkg/Core/StandaloneMmCore.h | 903 +++++++++++++++++
> StandaloneMmPkg/Core/StandaloneMmCore.inf | 80 ++
> StandaloneMmPkg/Core/StandaloneMmCorePrivateData.h | 66 ++
> StandaloneMmPkg/Drivers/CpuMm/Arm/Entry.S | 33 +
> StandaloneMmPkg/Drivers/CpuMm/Arm/EventHandle.c | 231 +++++
> StandaloneMmPkg/Drivers/CpuMm/Arm/Init.c | 225 ++++
> .../CpuMm/Arm/PiMmStandloneArmTfCpuDriver.h | 89 ++
> .../CpuMm/Arm/PiMmStandloneArmTfCpuDriver.inf | 60 ++
> StandaloneMmPkg/Drivers/CpuMm/Arm/StateSave.c | 51 +
> StandaloneMmPkg/Include/Guid/MmCoreData.h | 132 +++
> StandaloneMmPkg/Include/Guid/MmFvDispatch.h | 38 +
> StandaloneMmPkg/Include/Guid/MmramMemoryReserve.h | 62 ++
> StandaloneMmPkg/Include/Guid/MpInformation.h | 41 +
> .../Library/Arm/StandaloneMmCoreEntryPoint.h | 232 +++++
> StandaloneMmPkg/Include/Library/FvLib.h | 109 ++
> StandaloneMmPkg/Include/Library/MemLib.h | 140 +++
> .../Include/Library/MmCoreStandaloneEntryPoint.h | 101 ++
> .../Include/Library/MmDriverStandaloneEntryPoint.h | 148 +++
> StandaloneMmPkg/Include/StandaloneMm.h | 36 +
> StandaloneMmPkg/Library/FvLib/FvLib.c | 366 +++++++
> StandaloneMmPkg/Library/FvLib/FvLib.inf | 57 ++
> StandaloneMmPkg/Library/HobLib/HobLib.c | 697 +++++++++++++
> StandaloneMmPkg/Library/HobLib/HobLib.inf | 45 +
> StandaloneMmPkg/Library/MemLib/MemLib.c | 276 +++++
> StandaloneMmPkg/Library/MemLib/MemLib.inf | 47 +
> .../MemoryAllocationLib/MemoryAllocationLib.c | 901 ++++++++++++++++
> .../MemoryAllocationLib/MemoryAllocationLib.inf | 49 +
> .../MemoryAllocationLib/MemoryAllocationServices.h | 117 +++
> .../StandaloneMmCoreEntryPoint/Arm/CreateHobList.c | 200 ++++
> .../Arm/SetPermissions.c | 278 +++++
> .../Arm/StandaloneMmCoreEntryPoint.c | 265 +++++
> .../StandaloneMmCoreEntryPoint.inf | 53 +
> .../StandaloneMmDriverEntryPoint.c | 102 ++
> .../StandaloneMmDriverEntryPoint.inf | 41 +
> StandaloneMmPkg/StandaloneMmPkg.dec | 47 +
> StandaloneMmPkg/StandaloneMmPkg.dsc | 132 +++
> StandaloneMmPkg/StandaloneMmPkg.fdf | 184 ++++
> 55 files changed, 11699 insertions(+), 11 deletions(-)
> create mode 100644 ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuSecLib.c
> create mode 100644 ArmPkg/Library/ArmMmuLib/ArmMmuSecLib.inf
> create mode 100644 StandaloneMmPkg/Core/Dependency.c
> create mode 100644 StandaloneMmPkg/Core/Dispatcher.c
> create mode 100644 StandaloneMmPkg/Core/FwVol.c
> create mode 100644 StandaloneMmPkg/Core/Handle.c
> create mode 100644 StandaloneMmPkg/Core/InstallConfigurationTable.c
> create mode 100644 StandaloneMmPkg/Core/Locate.c
> create mode 100644 StandaloneMmPkg/Core/Mmi.c
> create mode 100644 StandaloneMmPkg/Core/Notify.c
> create mode 100644 StandaloneMmPkg/Core/Page.c
> create mode 100644 StandaloneMmPkg/Core/Pool.c
> create mode 100644 StandaloneMmPkg/Core/StandaloneMmCore.c
> create mode 100644 StandaloneMmPkg/Core/StandaloneMmCore.h
> create mode 100644 StandaloneMmPkg/Core/StandaloneMmCore.inf
> create mode 100644 StandaloneMmPkg/Core/StandaloneMmCorePrivateData.h
> create mode 100644 StandaloneMmPkg/Drivers/CpuMm/Arm/Entry.S
> create mode 100644 StandaloneMmPkg/Drivers/CpuMm/Arm/EventHandle.c
> create mode 100644 StandaloneMmPkg/Drivers/CpuMm/Arm/Init.c
> create mode 100644 StandaloneMmPkg/Drivers/CpuMm/Arm/PiMmStandloneArmTfCpuDriver.h
> create mode 100644 StandaloneMmPkg/Drivers/CpuMm/Arm/PiMmStandloneArmTfCpuDriver.inf
> create mode 100644 StandaloneMmPkg/Drivers/CpuMm/Arm/StateSave.c
> create mode 100644 StandaloneMmPkg/Include/Guid/MmCoreData.h
> create mode 100644 StandaloneMmPkg/Include/Guid/MmFvDispatch.h
> create mode 100644 StandaloneMmPkg/Include/Guid/MmramMemoryReserve.h
> create mode 100644 StandaloneMmPkg/Include/Guid/MpInformation.h
> create mode 100644 StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h
> create mode 100644 StandaloneMmPkg/Include/Library/FvLib.h
> create mode 100644 StandaloneMmPkg/Include/Library/MemLib.h
> create mode 100644 StandaloneMmPkg/Include/Library/MmCoreStandaloneEntryPoint.h
> create mode 100644 StandaloneMmPkg/Include/Library/MmDriverStandaloneEntryPoint.h
> create mode 100644 StandaloneMmPkg/Include/StandaloneMm.h
> create mode 100644 StandaloneMmPkg/Library/FvLib/FvLib.c
> create mode 100644 StandaloneMmPkg/Library/FvLib/FvLib.inf
> create mode 100644 StandaloneMmPkg/Library/HobLib/HobLib.c
> create mode 100644 StandaloneMmPkg/Library/HobLib/HobLib.inf
> create mode 100644 StandaloneMmPkg/Library/MemLib/MemLib.c
> create mode 100644 StandaloneMmPkg/Library/MemLib/MemLib.inf
> create mode 100644 StandaloneMmPkg/Library/MemoryAllocationLib/MemoryAllocationLib.c
> create mode 100644 StandaloneMmPkg/Library/MemoryAllocationLib/MemoryAllocationLib.inf
> create mode 100644 StandaloneMmPkg/Library/MemoryAllocationLib/MemoryAllocationServices.h
> create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobList.c
> create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissions.c
> create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c
> create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
> create mode 100644 StandaloneMmPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.c
> create mode 100644 StandaloneMmPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
> create mode 100644 StandaloneMmPkg/StandaloneMmPkg.dec
> create mode 100644 StandaloneMmPkg/StandaloneMmPkg.dsc
> create mode 100644 StandaloneMmPkg/StandaloneMmPkg.fdf
>
next prev parent reply other threads:[~2017-11-18 20:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-17 23:07 [RFC v1 00/15] *** Proposal for StandaloneMmPkg *** Supreeth Venkatesh
2017-11-17 23:08 ` [RFC v1 13/15] StandaloneMmPkg/Core: Implementation of Standalone MM Core Module Supreeth Venkatesh
2017-11-18 20:10 ` Rebecca Cran [this message]
2017-11-20 15:49 ` [RFC v1 00/15] *** Proposal for StandaloneMmPkg *** Supreeth Venkatesh
2017-11-28 7:00 ` Yao, Jiewen
2017-11-30 22:54 ` Supreeth Venkatesh
2017-12-04 6:35 ` Yao, Jiewen
2017-12-04 15:56 ` Supreeth Venkatesh
2018-04-06 14:55 ` Supreeth Venkatesh
2018-04-08 5:28 ` Yao, Jiewen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=16a8ba1d-7c63-79ca-e8c8-49ea701d7216@bluestop.org \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox