Thank you all for kind explanation Olivier, Andrew.

Thanks,

-----Original Message-----
From: Olivier Martin [mailto:[email protected]] 
Sent: Saturday, April 12, 2014 1:18 AM
To: 'Andrew Fish'; [email protected]
Cc: [email protected]
Subject: Re: [edk2] Passing Non-contiguous memory map to kernel on ARMv8

I have just created a wikipage to answer the question:
https://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ArmPlatform
Pkg/SparseMemory
... and added support for the ARM Base and Foundation FVP models in SVN
15461 - ArmPlatformPkg/ArmVExpressLibRTSM: Added support for the additional
2GB memory of DRAM on FVP.

Here is the example of the Foundation Model DRAM:
0x00_8000_0000  0x00_FFFF_FFFF  DRAM (0GB - 2GB)        DRAM (0GB - 2GB)
2GB     S/NS
0x08_8000_0000  0x09_FFFF_FFFF  DRAM (2GB - 8GB)        DRAM (2GB - 8GB)
6GB     S/NS
Source:
http://infocenter.arm.com/help/topic/com.arm.doc.dui0677c/BBACIHDC.html

Note: I only added 2GB from the extra 6GB because the Base FVP model has
only 2GB by default at 0x08_8000_0000.

> -----Original Message-----
> From: Andrew Fish [mailto:[email protected]]
> Sent: 11 April 2014 16:43
> To: [email protected]
> Cc: Olivier Martin; [email protected]
> Subject: Re: [edk2] Passing Non-contiguous memory map to kernel on
> ARMv8
> 
> 
> On Apr 11, 2014, at 3:11 AM, Youngmin Nam <[email protected]>
> wrote:
> 
> > Hello Olivier and Expert,
> >
> > I am trying to pass the non-contiguous physical memory map to kernel
> on ARMv8.
> >
> > Can the UEFI pass non-contiguous physical memory area to the kernel?
> >
> 
> Yes
> 
> > I mean, Physical memory is divided into 0x80000000-0xFFFFFFFF(2GB)
> and 0x880000000- 0xFFFFFFFFF(30GB).
> >
> > If possible, Could you explain how to describe in UEFI?
> >
> 
> The platform passes up the info in the EFI Memory map. So that is a
> gBS->GetMemoryMap() call.
> The shell has a memmap command that dumps the data.
> 
> 
> How to add memory regions is not defined in UEFI, but it is defined in
> PI.
> 
> The region is added via gDS->AddMemorySpace()
> 
> The initial map is based on EFI_HOB_TYPE_RESOURCE_DESCRIPTOR HOBs
> passed into the DXE Core
> 
> https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdeModulePkg/Core/Dxe/Gc
> d/Gcd.c CoreInitializeGcdServices()
> 
> So platform specific code needs to build the HOB or call gDS-
> >AddMemorySpace().
> 
> Thanks,
> 
> Andrew Fish
> 
> > Otherwise, Could you let me know the reason?
> >
> > Thanks,
> >
> >
> > ---------------------------------------------------------------------
> ---------
> > Put Bad Developers to Shame
> > Dominate Development with Jenkins Continuous Integration
> > Continuously Automate Build, Test & Deployment
> > Start a new project now. Try Jenkins in the cloud.
> > http://p.sf.net/sfu/13600_Cloudbees
> > _______________________________________________
> > edk2-devel mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
> 
> 





----------------------------------------------------------------------------
--
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to