> On Sep 9, 2015, at 7:03 AM, Ard Biesheuvel <[email protected]> wrote:
> 
> On 9 September 2015 at 15:59, Laszlo Ersek <[email protected] 
> <mailto:[email protected]>> wrote:
>> On 09/08/15 19:35, Ard Biesheuvel wrote:
>>> When executing on a LPAE capable 32-bit ARM platform, we support
>>> up to 40 bits of physical address space so set PcdPrePiCpuMemorySize
>>> accordingly.
>>> 
>>> Contributed-under: TianoCore Contribution Agreement 1.0
>>> Signed-off-by: Ard Biesheuvel <[email protected]>
>>> ---
>>> ArmVirtPkg/ArmVirt.dsc.inc | 3 +++
>>> 1 file changed, 3 insertions(+)
>>> 
>>> diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
>>> index b49c1bfb8b04..c1b78be84e74 100644
>>> --- a/ArmVirtPkg/ArmVirt.dsc.inc
>>> +++ b/ArmVirtPkg/ArmVirt.dsc.inc
>>> @@ -371,6 +371,9 @@ [PcdsFixedAtBuild.common]
>>>   gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x80, 0x6d, 0x91, 0x7d, 
>>> 0xb1, 0x5b, 0x8c, 0x45, 0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94}
>>> !endif
>>> 
>>> +[PcdsFixedAtBuild.ARM]
>>> +  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40
>>> +
>>> [Components.common]
>>>   #
>>>   # Networking stack
>>> 
>> 
>> Right, the "ArmPkg/Drivers/CpuPei/CpuPei.inf" builds the CPU HOB based
>> on this, and then the DXE core determines the size of the GCD Memory
>> Space Map's first (= "all is nonexistent") entry from that.
>> 
> 
> Indeed. Otherwise, memory above 4 GB just gets ignored, which means
> its existence does not get advertised to the OS either.
> 

It should get advertised to the OS, that is why the memory map is 
EFI_PHYSICAL_ADDRESS. 32-bit x86 platforms can have a larger physical address 
space, than virtual. This was how it was done in the past. 

>> Plus, you probably don't have to care about any size increase in page
>> tables that are allocated from the permanent PEI RAM (cf. SVN rev 17719).
>> 
> 
> The 1:1 mapping only goes to 4 GB, so anything beyond that is never
> mapped anyway.
> 

This is the state when you hand off to the OS, but it is possible as part of 
the boot process to have a driver do some alternate mapping. This was done on 
x86 servers for a software based memory test for example. 

Thanks,

Andrew Fish

>> Reviewed-by: Laszlo Ersek <[email protected] <mailto:[email protected]>>
> 
> Thanks!
> _______________________________________________
> edk2-devel mailing list
> [email protected] <mailto:[email protected]>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.01.org_mailman_listinfo_edk2-2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut5_idw&m=bZyniQzwDVeZalKtzEQNfdCbPhn2RxGN1gPehkd9sTQ&s=2zr4tWKFbwYwQ1hY3KEClZ7yNqRyGeTvpTEpBwFFryQ&e=
>  
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.01.org_mailman_listinfo_edk2-2Ddevel&d=BQICAg&c=eEvniauFctOgLOKGJOplqw&r=1HnUuXD1wDvw67rut5_idw&m=bZyniQzwDVeZalKtzEQNfdCbPhn2RxGN1gPehkd9sTQ&s=2zr4tWKFbwYwQ1hY3KEClZ7yNqRyGeTvpTEpBwFFryQ&e=>
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to