Is it “functioning as intended” for the 1st memory allocation of the DXE Core
to not come from gMemoryTypeInformation/mMemoryTypeStatistics buckets?
I walked the allocations in the debugger and the 1st call to
CoreAddMemoryDescriptor() (from the end of CoreInitializeMemoryServices(), and
it is to add EfiConventionalMemory) does a CoreAddRange() prior to checking
mMemoryTypeInformationInitialized to decide if the buckets for memory types
have been initialized. I see the
mMemoryTypeStatistics[EfiBootServicesData].NumberOfPages is set to 1 prior to
the initialization of mMemoryTypeStatistics.
It looks like the call to CoreFreeMemoryMapStack() after CoreAddRange() calls
AllocateMemoryMapEntry(), and that calls CoreAllocatePoolPages() if there is no
free list.
In my case I’m ending with a small BS_data range after ACPI ranges in the
memory map. Seems like that is going to waist memory for the OS?
Thanks,
Andrew Fish
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel