public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>
To: Rebecca Cran <rebecca@bluestop.org>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "jiewen.yao@intel.com" <jiewen.yao@intel.com>,
	"leif.lindholm@linaro.org" <leif.lindholm@linaro.org>,
	Achin Gupta <Achin.Gupta@arm.com>
Subject: Re: [RFC v1 00/15] *** Proposal for StandaloneMmPkg ***
Date: Mon, 20 Nov 2017 15:49:12 +0000	[thread overview]
Message-ID: <AM4PR0802MB2306365CAFBC4434CFF390CC80220@AM4PR0802MB2306.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <16a8ba1d-7c63-79ca-e8c8-49ea701d7216@bluestop.org>

Rebecca,

Thanks for your comment. I too did wonder that.
However, "MM" abbreviation is used multiple times
in PI Specification v1.5  "Volume 4: Management Mode Core Interface"
Also, since the package is going to be called "StandaloneMmPkg" and not just MM, thereby avoiding
intersection with Memory Management.

Supreeth

-----Original Message-----
From: Rebecca Cran [mailto:rebecca@bluestop.org]
Sent: Saturday, November 18, 2017 2:11 PM
To: Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>; edk2-devel@lists.01.org
Cc: jiewen.yao@intel.com; leif.lindholm@linaro.org
Subject: Re: [edk2] [RFC v1 00/15] *** Proposal for StandaloneMmPkg ***

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
>

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

  reply	other threads:[~2017-11-20 15:45 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 ` [RFC v1 00/15] *** Proposal for StandaloneMmPkg *** Rebecca Cran
2017-11-20 15:49   ` Supreeth Venkatesh [this message]
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=AM4PR0802MB2306365CAFBC4434CFF390CC80220@AM4PR0802MB2306.eurprd08.prod.outlook.com \
    --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