That's how it's done on NUMA platforms I've seen.  Only low memory is 
marked as EFI_RESOURCE_ATTRIBUTE_TESTED at first.  Then in the BDS 
phase, after all DXE modules have loaded, a memory test is run which 
transitions the remaining memory to  "EFI_RESOURCE_ATTRIBUTE_PRESENT | 
EFI_RESOURCE_ATTRIBUTE_INITIALIZED | EFI_RESOURCE_ATTRIBUTE_TESTED".  At 
that point, all the memory is in the EFI memory map, and will be 
available to the OS.

See MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe and 
gEfiGenericMemTestProtocolGuid.

Brian

On 10/29/2014 01:45 PM, Olivier Martin wrote:
> I have just noticed I have replied one of your question.
>
> To answer your question on "how to restrict to use only first memory range".
> I know one way to do it, but I am not sure it is the recommended way...
>
> If you do not want to run UEFI into the upper memory space. You can declare
> this memory range without 'EFI_RESOURCE_ATTRIBUTE_TESTED'.
> So this DRAM range will be: "EFI_RESOURCE_ATTRIBUTE_PRESENT |
> EFI_RESOURCE_ATTRIBUTE_INITIALIZED" but NOT 'EFI_RESOURCE_ATTRIBUTE_TESTED'.
>
> But I am not sure it is the right approach... The OS kernel might skip this
> DRAM range if it does not see the memory as 'EFI_RESOURCE_ATTRIBUTE_TESTED'.
>
> Another approach would be to introduce a PCD (I actually thought there was
> one) and change the DXE core to not allocate further than this PCD value.
>
>
>> -----Original Message-----
>> From: Ganapatrao Kulkarni [mailto:[email protected]]
>> Sent: 14 October 2014 19:51
>> To: [email protected]
>> Subject: Re: [edk2] how to manage multiple dram memory ranges
>>
>> Hi Olivier,
>>
>> all DXE drivers load happens from second memory range (upper range).
>> how to restrict to use only first memory range.
>>
>> i want add multiple memory ranges so that uefi passes all memory info
>> to Linux kernel.
>> we dont want to load/run the DXE/drivers  on secondary memory ranges,
>> since it may be remote memory or memory on other node in numa context.
>>
>> thanks for your help.
>>
>> regards
>> ganapat
>>
>>
>> On Tue, Oct 14, 2014 at 7:45 PM, Olivier Martin
>> <[email protected]> wrote:
>>> Do you confirm you are using:
>>> - MdeModulePkg/Universal/PCD/Pei/Pcd.inf
>>> - MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
>>>
>>>> -----Original Message-----
>>>> From: Ganapatrao Kulkarni [mailto:[email protected]]
>>>> Sent: 14 October 2014 14:47
>>>> To: [email protected]
>>>> Subject: Re: [edk2] how to manage multiple dram memory ranges
>>>>
>>>> On Mon, Oct 13, 2014 at 7:14 PM, Olivier Martin
>>>> <[email protected]> wrote:
>>>>> It is possible to retrieve the memory from FDT. Have a look at the
>>>>> ArmVirtualizationPkg for an example:
>>>>>
>>>>
>> https://github.com/tianocore/edk2/blob/master/ArmPlatformPkg/ArmVirtual
>>>> izati
>>>>> onPkg/Library/ArmVirtualizationPlatformLib/Virt.c
>>>>
>>>> thanks.
>>>> i am trying to enable _PCD_SET_MODE_64_PcdSystemMemorySize for
>>>> Variable PcdSystemMemorySize
>>>> i have removed the entries from FixedPcd from inf, dev and dsc
>> files,
>>>> still not working.
>>>> any specific settings needs to be taken care? please suggest.
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Ganapatrao Kulkarni [mailto:[email protected]]
>>>>>> Sent: 13 October 2014 13:25
>>>>>> To: [email protected]
>>>>>> Subject: Re: [edk2] how to manage multiple dram memory ranges
>>>>>>
>>>>>> On Mon, Oct 13, 2014 at 2:37 PM, Olivier Martin
>>>>>> <[email protected]> wrote:
>>>>>>> Hi Ganapat,
>>>>>>> Have a look at this page:
>>>>>>>
>> http://tianocore.sourceforge.net/wiki/ArmPlatformPkg/SparseMemory
>>>>>>> Olivier
>>>>>>
>>>>>> thanks Olivier.
>>>>>> Is it feasible to implement fdt memory node (instead of hard
>> coding
>>>> in
>>>>>> the code) based init of memory ranges in function
>>>>>> "ArmPlatformInitializeSystemMemory"?
>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: Ganapatrao Kulkarni [mailto:[email protected]]
>>>>>>>> Sent: 13 October 2014 07:59
>>>>>>>> To: [email protected]
>>>>>>>> Subject: [edk2] how to manage multiple dram memory ranges
>>>>>>>>
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> If my hardware has multiple DDRs with discontiguous address
>>>> range.
>>>>>>>> then how do add these ranges to uefi.
>>>>>>>>
>>>>>>>> currently i have added single dram range using
>>>> PcdSystemMemoryBase
>>>>>> and
>>>>>>>> PcdSystemMemorySize  in dsc file.
>>>>>>>>
>>>>>>>> also can i manage the range using DT file?
>>>>>>>>
>>>>>>>> thanks
>>>>>>>> Ganapat
>>>>>>>>
>>>>>>>> --------------------------------------------------------------
>> ---
>>>> ---
>>>>>> ---
>>>>>>>> -------
>>>>>>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog
>> Analyzer
>>>>>>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI
>> DSS
>>>>>>>> Reports
>>>>>>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White
>>>> paper
>>>>>>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog
>>>> Analyzer
>>>>>>>> http://p.sf.net/sfu/Zoho
>>>>>>>> _______________________________________________
>>>>>>>> edk2-devel mailing list
>>>>>>>> [email protected]
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------
>> ---
>>>> ---
>>>>>> ---------
>>>>>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
>>>>>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI
>> DSS
>>>>>> Reports
>>>>>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White
>>>> paper
>>>>>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog
>>>> Analyzer
>>>>>>> http://p.sf.net/sfu/Zoho
>>>>>>> _______________________________________________
>>>>>>> edk2-devel mailing list
>>>>>>> [email protected]
>>>>>>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>>>>>
>>>>>> thanks
>>>>>> ganapat
>>>>>>
>>>>>> -----------------------------------------------------------------
>> ---
>>>> ---
>>>>>> -------
>>>>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
>>>>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS
>>>>>> Reports
>>>>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White
>> paper
>>>>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog
>> Analyzer
>>>>>> http://p.sf.net/sfu/Zoho
>>>>>> _______________________________________________
>>>>>> edk2-devel mailing list
>>>>>> [email protected]
>>>>>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------
>> ---
>>>> ---------
>>>>> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
>>>>> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS
>>>> Reports
>>>>> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White
>> paper
>>>>> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog
>> Analyzer
>>>>> http://p.sf.net/sfu/Zoho
>>>>> _______________________________________________
>>>>> edk2-devel mailing list
>>>>> [email protected]
>>>>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>>>
>>>> --------------------------------------------------------------------
>> ---
>>>> -------
>>>> Comprehensive Server Monitoring with Site24x7.
>>>> Monitor 10 servers for $9/Month.
>>>> Get alerted through email, SMS, voice calls or mobile push
>>>> notifications.
>>>> Take corrective actions from your mobile device.
>>>> http://p.sf.net/sfu/Zoho
>>>> _______________________________________________
>>>> edk2-devel mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/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.
>>>
>>> ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
>> Registered in England & Wales, Company No:  2557590
>>> ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1
>> 9NJ, Registered in England & Wales, Company No:  2548782
>>>
>>>
>>> ---------------------------------------------------------------------
>> ---------
>>> Comprehensive Server Monitoring with Site24x7.
>>> Monitor 10 servers for $9/Month.
>>> Get alerted through email, SMS, voice calls or mobile push
>> notifications.
>>> Take corrective actions from your mobile device.
>>> http://p.sf.net/sfu/Zoho
>>> _______________________________________________
>>> edk2-devel mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>
>> -----------------------------------------------------------------------
>> -------
>> Comprehensive Server Monitoring with Site24x7.
>> Monitor 10 servers for $9/Month.
>> Get alerted through email, SMS, voice calls or mobile push
>> notifications.
>> Take corrective actions from your mobile device.
>> http://p.sf.net/sfu/Zoho
>> _______________________________________________
>> edk2-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
>
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to