From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.101.70; helo=foss.arm.com; envelope-from=supreeth.venkatesh@arm.com; receiver=edk2-devel@lists.01.org Received: from foss.arm.com (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by ml01.01.org (Postfix) with ESMTP id DA12E221786B0 for ; Thu, 30 Nov 2017 14:50:34 -0800 (PST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B0DC41529; Thu, 30 Nov 2017 14:54:59 -0800 (PST) Received: from [10.0.2.15] (u203142.usa.arm.com [10.118.30.38]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6E0103F318; Thu, 30 Nov 2017 14:54:59 -0800 (PST) Message-ID: <1512082499.3184.7.camel@arm.com> From: Supreeth Venkatesh To: "Yao, Jiewen" , "edk2-devel@lists.01.org" Cc: "leif.lindholm@linaro.org" , achin.gupta@arm.com Date: Thu, 30 Nov 2017 16:54:59 -0600 In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503AA2F0CA@shsmsx102.ccr.corp.intel.com> References: <20171117230800.29216-1-supreeth.venkatesh@arm.com> <74D8A39837DF1E4DA445A8C0B3885C503AA2F0CA@shsmsx102.ccr.corp.intel.com> X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 Mime-Version: 1.0 Subject: Re: [RFC v1 00/15] *** Proposal for StandaloneMmPkg *** X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Nov 2017 22:50:35 -0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit On Tue, 2017-11-28 at 07:00 +0000, Yao, Jiewen wrote: > HI > I am sorry that I missed this mail before. > > I found only 0/15 and 13/15 are in my mail box. :-( > I do not know why others are filtered. This was deliberate as PATCH 13/15 implements MM core code. Rest of them are/were AARCH64 Specific excluding the MM libraries. > > Is that possible to post the whole patch to your private git? > As such, we can review it in more efficient way. I have created a github repo below to review it in more efficient way. EDK2 https://github.com/supven01/edk2.git (Branch: AArch64StandaloneMm) EDK2-PLATFORMS https://github.com/supven01/edk2-platforms.git (Branch: master) Also, we are in the process of updating these changes into edk2 Staging repository here: https://github.com/tianocore/edk2-staging/tree/AArch64StandaloneMm I will send out PATCH set once you/team completes the review and give feedback/comments.  > > Basically, I think it is a good idea to have StandaloneMmPkg to hold > all these features. Thank you for acknowledging this. > > Thank you > Yao Jiewen > > > > > -----Original Message----- > > From: Supreeth Venkatesh [mailto:supreeth.venkatesh@arm.com] > > Sent: Saturday, November 18, 2017 7:08 AM > > To: edk2-devel@lists.01.org > > Cc: leif.lindholm@linaro.org; Yao, Jiewen ; > > Supreeth > > Venkatesh > > Subject: [RFC v1 00/15] *** Proposal for StandaloneMmPkg *** > > > > *** > > 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-plat > > forms > > 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/PiMmStandloneArmTfCpu > > Driver/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/MemoryAllocationService > > s.h > >  create mode 100644 > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobLis > > t.c > >  create mode 100644 > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissio > > ns. > > c > >  create mode 100644 > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMm > > CoreEntryPoint.c > >  create mode 100644 > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCore > > E > > ntryPoint.inf > >  create mode 100644 > > StandaloneMmPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDr > > iv > > erEntryPoint.c > >  create mode 100644 > > StandaloneMmPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDr > > iv > > erEntryPoint.inf > >  create mode 100644 StandaloneMmPkg/StandaloneMmPkg.dec > >  create mode 100644 StandaloneMmPkg/StandaloneMmPkg.dsc > >  create mode 100644 StandaloneMmPkg/StandaloneMmPkg.fdf > > > > -- > > 2.14.1