public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Yao, Jiewen" <jiewen.yao@intel.com>
To: Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>
Cc: "leif.lindholm@linaro.org" <leif.lindholm@linaro.org>,
	Achin Gupta <Achin.Gupta@arm.com>
Subject: Re: [RFC v1 00/15] *** Proposal for StandaloneMmPkg ***
Date: Sun, 8 Apr 2018 05:28:11 +0000	[thread overview]
Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503AB4CA8C@shsmsx102.ccr.corp.intel.com> (raw)
In-Reply-To: <AM4PR0802MB2306B95F1E0720E1C67EF56480BA0@AM4PR0802MB2306.eurprd08.prod.outlook.com>

Many thanks. The new series patch looks much better.

Some comments on the new patches.

> -----Original Message-----
> From: Supreeth Venkatesh [mailto:Supreeth.Venkatesh@arm.com]
> Sent: Friday, April 6, 2018 10:55 PM
> To: Yao, Jiewen <jiewen.yao@intel.com>; edk2-devel@lists.01.org
> Cc: leif.lindholm@linaro.org; Achin Gupta <Achin.Gupta@arm.com>
> Subject: RE: [edk2] [RFC v1 00/15] *** Proposal for StandaloneMmPkg ***
> 
> Jiewen,
> 
> My response inline for some of the comments.
> I have posted new series of patches. Please review them and provide feedback.
> 
> Thanks,
> Supreeth
> 
> -----Original Message-----
> From: Yao, Jiewen <jiewen.yao@intel.com>
> Sent: Monday, December 4, 2017 12:36 AM
> To: Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>;
> edk2-devel@lists.01.org
> Cc: leif.lindholm@linaro.org
> Subject: RE: [edk2] [RFC v1 00/15] *** Proposal for StandaloneMmPkg ***
> 
> Thanks you very much.
> 
> Thanks for your patient. I have reviewed https://github.com/supven01/edk2.git
> (Branch: AArch64StandaloneMm)
> 
> Below is my thougth:
> 1) I do not have comment for ArmPkg related change. - I expect Arm expert can
> review that.
> 
> 2) For "BaseTools/AutoGen: Update header file for MM modules."
> I agree with you on that. (Reviewed-by: Jiewen.yao@intel.com) Would you
> please send separate patch for BaseTools owner to review?
> [Supreeth] already Merged.
> 
> 3) For "MdePkg/Include: Add management mode FV file type and depex."
> I agree with you on that. (Reviewed-by: Jiewen.yao@intel.com) Would you
> please send separate patch for MdePkg owner to review?
> [Supreeth] Posted Patch. Maintainers waiting on StandaloneMmPkg changes to
> be merged.
> 
> 4) For "MdeModulePkg: Add application to test MM communication protocol."
> Can we put UefiInfoApp to StandaloneMmPkg?
> The gMmUefiInfoGuid is consumed by
> StandaloneMmPkg\Core\StandaloneMmCore.c, so I believe it more tights to
> StandaloneMmPkg.
> I do not want to bother MdeModulePkg on that.
> [Supreeth] Modified. Done.
> 
> 5) The rest are all StandaloneMmPkg.
> 5.1) For "StandaloneMmPkg: Add an AArch64 specific entry point library."
> This seems not a generic lib.
> Can we rename it to be: StandaloneMmCoreEntryPointArm?
> If so, we do not need create Arm sub-folder there.
> [Supreeth] I created an Arm sub-folder so that it can be extensible to other
> architectures, if some other architecture wants to reuse this ARM Specific library
> and extend it.
> Also, In the inf file, Arm specific source files are under [Sources.AARCH64]. Let
> me know if you prefer renaming as opposed to creating a sub folder.
> 
> 5.2) For "StandaloneMmPkg/HobLib: Add a common HOB Library for
> management mode."
> This seems not a generic way to get the Hob.
> 
> Below API seems private one. It is not defined in HobLib. But a contract between
> StandaloneMmPkg\Library\StandaloneMmCoreEntryPoint\Arm\CreateHobList.c
> and StandaloneMmPkg\Library\HobLib\HobLib.c
> 
> EFI_HOB_HANDOFF_INFO_TABLE*
> HobConstructor (
>   IN VOID   *EfiMemoryBegin,
>   IN UINTN  EfiMemoryLength,
>   IN VOID   *EfiFreeMemoryBottom,
>   IN VOID   *EfiFreeMemoryTop
>   )
> 
> This is typically not encourage. I am not sure if we have better way to resolve the
> issue.
> But if there is not, I prefer we move it to be ArmSpecific HobLib, such as
> HobLibArmStandaloneMm.
> [Supreeth] For the moment, I don’t have a better way. I have made it Arm
> specific by creating a subfolder "Arm" and sources in inf file under
> [Sources.AARCH64].
> 
> 5.3) For "StandaloneMmPkg/FvLib: Add a common FV Library for management
> mode."
> Looks good.
> 
> 5.4) For "StandaloneMmPkg/MemLib: Instance of memory check library."
> It seems a compatibility issue, that we rename SmmMemLib to MmMemLib.
> 
> Maybe, we can add MmMemLib.h API, and move SmmMemLib content to
> MmMemLib, then let SmmMemLib call MmMemLib.
> [Supreeth] MmMemLib differs significantly from SmmMemLib as SmmMemLib
> has some intel specific physical address bits, some memory map references.
> So I have moved this as ARM specific library at this point with scope for
> refactoring.
> 
> 5.5) For "StandaloneMmPkg/MemoryAllocationLib: Add MM memory allocation
> library."
> May I know why you change " gSmst->SmmAllocatePool ();" to
> "MmAllocatePool ();"
> 
> An MM driver should not know the detail implementation of MmCore.
> 
> Can we just use gMmst->MmAllocatePool() here?
> [Supreeth] I modified it to use gMmst->MmXXXXXXXXX() Apis.
> 
> 5.6) For "StandaloneMmPkg: MM driver entry point library."
> Looks good.
> 
> 5.7) For "StandaloneMmPkg/CpuMm: Add CPU driver suitable for ARM
> Platforms."
> It seems Arm specific. Can we rename to ArmCpuMm?
> [Supreeth]  I created an Arm sub-folder within CpuMm so that it can be
> extensible to other architectures, if some other architecture wants to reuse this
> ARM Specific cpu mm driver and extend it.
> Also, in DSC file, this is included under [Components.AARCH64] . Let me know if
> you prefer renaming as opposed to creating a sub folder.
> 
> 5.8) For "StandaloneMmPkg/Core: Implementation of Standalone MM Core
> Module."
> I have not gone through all detail.
> It seems quite similar to my previous one. So it is good.
> 
> 5.9) For "StandaloneMmPkg: Add handler to handle event received from
> "uefiinfo"."
> Looks good.
> 
> 
> Thank you
> Yao Jiewen
> 
> > -----Original Message-----
> > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> > Supreeth Venkatesh
> > Sent: Friday, December 1, 2017 6:55 AM
> > To: Yao, Jiewen <jiewen.yao@intel.com>; edk2-devel@lists.01.org
> > Cc: leif.lindholm@linaro.org
> > Subject: Re: [edk2] [RFC v1 00/15] *** Proposal for StandaloneMmPkg
> > ***
> >
> > 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 <jiewen.yao@intel.com>;
> > > > Supreeth Venkatesh <supreeth.venkatesh@arm.com>
> > > > 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-pla
> > > > t
> > > > 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                         |  33
> > 7 ++++++
> > > >  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.in
> > > > f
> > > >  create mode 100644
> > > > StandaloneMmPkg/Library/MemoryAllocationLib/MemoryAllocationServic
> > > > e
> > > > 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
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
> 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:[~2018-04-08  5:28 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
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 [this message]

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=74D8A39837DF1E4DA445A8C0B3885C503AB4CA8C@shsmsx102.ccr.corp.intel.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