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
