public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Andrew Fish <afish@apple.com>
To: Rafael Machado <rafaelrodrigues.machado@gmail.com>
Cc: "Ni, Ruiyu" <ruiyu.ni@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Yao, Jiewen" <jiewen.yao@intel.com>
Subject: Re: Question about memory map entries
Date: Thu, 02 Aug 2018 07:37:40 -0700	[thread overview]
Message-ID: <694BC161-9845-48D4-BBDF-8D7E1A77B285@apple.com> (raw)
In-Reply-To: <CACgnt7-hW4+gQ5JMj5bYnb8HgJA796kncdifPYT9kthnxU6u2g@mail.gmail.com>



> On Aug 2, 2018, at 5:39 AM, Rafael Machado <rafaelrodrigues.machado@gmail.com> wrote:
> 
> Hi everyone
> 
> After some other tasks I am back to this case :)
> 
> After some debug, we detected the moment where things start to go wrong, but I am not sure what may cause this.
> 
> What we noticed is that the following assert is reached:
> https://github.com/tianocore/edk2/blob/87acb6e298e718250dd8b741b6888a3a54c7cb5a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c#L21 <https://github.com/tianocore/edk2/blob/87acb6e298e718250dd8b741b6888a3a54c7cb5a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c#L21>h <https://github.com/tianocore/edk2/blob/87acb6e298e718250dd8b741b6888a3a54c7cb5a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c#L2199>99 <https://github.com/tianocore/edk2/blob/87acb6e298e718250dd8b741b6888a3a54c7cb5a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c#L2199>
> Just to remember, this assert is reached with the following steps:
> 1 - Boot the application (renamed to BOOTX64.efi) from a usb stick
> 2 - Execute the application tasks
> 3 - exit the application (free everything, all events closed and  no memory leaks detected as suggested to check by Andrew on the previous e-mail, then return efi_success)
> 4 - the system will reboot and reach the assert
> 
> But it does not happen with the following scenario:
> 1 - Boot the application (renamed to BOOTX64.efi) from a usb stick
> 2 - Execute the application tasks
> 3 - Power off the system
> 
> As far as I could understand (please correct my understanding that may be wrong since is the first time I look at this part of the code), at this point the HOBs passed from sec phase are processed by PEI so the memory could be "detected/mapped/initialized" correctly. But for some reason the required HOB is no present at the list.
> 
> Could someone with more experience at this part of the code please confirm my understanding, and if possible give some guesses about what could cause this scenario?
> 
> My guess is that some memory cleanup that should be done by the bios after the application exits is not being done correctly. So I believe the problem is not at the application, but at the BIOS. A friend here mentioned about the MemoryTypeInformation efi var, that may be corrupted, and considering it's used to guide the boot process it may impact the boot, but I am not sure if this is the case and also I didn't find to much information about this var and it's usage, so any help about this would be well received also.
> 
> Any ideas?
> 

Rafael,

The gEfiMemoryTypeInformationGuid HOB is optional and used to defragment the EFI Memory Map. While it is copied it is not really in use at the point of your ASSERT. 

The PHIT HOB[1] must be the 1st HOB entry and it is the  layout of the memory that was in use by the PEI phase. At this point int he boot it is likely the memory registered in PEI via the InstallPeiMemory() PEI Service. The error is the memory in the PHIT hob does not have a corresponding EFI_HOB_TYPE_RESOURCE_DESCRIPTOR of type EFI_RESOURCE_SYSTEM_MEMORY.

Here is an example of code doing the registration. As you can see it calls PeiServicesInstallPeiMemory() and also generates the Resource HOB. 
https://github.com/tianocore/edk2/blob/master/QuarkPlatformPkg/Platform/Pei/PlatformInit/MrcWrapper.c#L738

You could try to track down the code in your code base doing the above operation, and if that looks OK maybe add DEBUG prints and dump out the HOBs to see if the got corrupted some how?

[1] PHIT HOB
///
/// Contains general state information used by the HOB producer phase.
/// This HOB must be the first one in the HOB list.
///
typedef struct {
  ///
  /// The HOB generic header. Header.HobType = EFI_HOB_TYPE_HANDOFF.
  ///
  EFI_HOB_GENERIC_HEADER  Header;
  ///
  /// The version number pertaining to the PHIT HOB definition.
  /// This value is four bytes in length to provide an 8-byte aligned entry
  /// when it is combined with the 4-byte BootMode.
  ///
  UINT32                  Version;
  ///
  /// The system boot mode as determined during the HOB producer phase.
  ///
  EFI_BOOT_MODE           BootMode;
  ///
  /// The highest address location of memory that is allocated for use by the HOB producer
  /// phase. This address must be 4-KB aligned to meet page restrictions of UEFI.
  ///
  EFI_PHYSICAL_ADDRESS    EfiMemoryTop;
  ///
  /// The lowest address location of memory that is allocated for use by the HOB producer phase.
  ///
  EFI_PHYSICAL_ADDRESS    EfiMemoryBottom;
  ///
  /// The highest address location of free memory that is currently available
  /// for use by the HOB producer phase.
  ///
  EFI_PHYSICAL_ADDRESS    EfiFreeMemoryTop;
  ///
  /// The lowest address location of free memory that is available for use by the HOB producer phase.
  ///
  EFI_PHYSICAL_ADDRESS    EfiFreeMemoryBottom;
  ///
  /// The end of the HOB list.
  ///
  EFI_PHYSICAL_ADDRESS    EfiEndOfHobList;
} EFI_HOB_HANDOFF_INFO_TABLE;


Thanks,

Andrew Fish

> Thanks and Regards
> Rafael R. Machado
> 
> Em sáb, 30 de jun de 2018 às 16:23, Andrew Fish <afish@apple.com <mailto:afish@apple.com>> escreveu:
> 
> 
> > On Jun 30, 2018, at 5:02 AM, Rafael Machado <rafaelrodrigues.machado@gmail.com <mailto:rafaelrodrigues.machado@gmail.com>> wrote:
> > 
> > Hi everyone. Thanks for the answers!
> > In this case, I just executed 3 shell command:
> > 
> > memmap >> before.txt
> > app.efi
> > memmap >> after.txt
> > 
> > Does anyone could clarify what could cause a new entry to be created at the
> > memmap output command?
> 
> There is fragmentation caused the Apps high usage of memory and this can cause a lot more entries. I guess the DXE Core might also need to allocate some extra pages to track the fragmentation of the memory pool caused by the App. 
> 
> > My understanding was that the entries at the memmap command reflect the GCD
> > (global coherence domain), that is something that should not change too
> > much after the system is already at BDS phase.
> 
> It is not really showing you GCD, it is showing the UEFI memory map. GCD implies the memory is being used as DRAM by the CPU , the UEFI memory map tracks the type of allocation and what areas of memory are free. That usage patter is changed by your App running. 
> 
> > As mentioned, the
> > application does a lot of AllocatePool() FreePool() calls. And these calls
> > are, as far as I could understand, creating a lot of entries of type "BS_Data"
> > and "Available".
> > Shouldn't the bios allocation routines try to reuse the pools already used
> > and freed to avoid massing and fragmenting the memory?
> > 
> > Besides that, we just found a system that hangs on the subsequent boot
> > after executing the application. The strange is that the system just hangs
> > if you do the following steps:
> > 
> > 1 - execute the application: app.efi
> > 2 - exit the shell with the command: exit
> > 3 - boot hangs not presenting the shell prompt
> > 
> > 
> > In case you do the following steps the hang doesn't happen:
> > 
> > 1 - execute the application: app.efi
> > 2 - shut down the system by pressing the power button
> > 3 - boots normally entering at the shell prompt
> > 
> > Any idea about what could cause this strange behavior, and if this may have
> > some relation with the increase of the memmap output entries?
> 
> A common bug is for an Application to not clean up something and have the resource get freed. For example the App starts a timer event, forgets to stop it and when the App exits the memory gets freed back and if some one else allocates that memory they overwrite the code that executes in the timer event and kaboom. Same goes for publishing a protocol, etc. 
> 
> Given the issue is only with your App I'd focus on the App and not the delta in the memory map. 
> 
> On thing that may be helpful is to turn on this property it will cause the freed pool to get filled with 0xAF. 0xAFAFAFAFAFAFAFAF will GP fault if it is used as a memory address so this helps catch using freed resources closer to the source. 
> PcdDebugPropertyMask set DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED
> 
> Thanks,
> 
> Andrew Fish
> 
> > (maybe
> > something related with the MemoryTypeInformation information that seems to
> > be saved to make the subsequent boots easier from the bios perspective.
> > This guess is based on [1] page 19, that explains the creation of the
> > BIN.DXE, but things are a little dark to me yet. Not sure if my
> > understanding is correct.)
> > 
> > [1]
> > https://firmware.intel.com/sites/default/files/resources/A_Tour_Beyond_BIOS_Memory_Map_in%20UEFI_BIOS.pdf <https://firmware.intel.com/sites/default/files/resources/A_Tour_Beyond_BIOS_Memory_Map_in%20UEFI_BIOS.pdf>
> > 
> > Thanks and Regards
> > Rafael R. Machado
> > 
> > Em sex, 29 de jun de 2018 às 22:31, Ni, Ruiyu <ruiyu.ni@intel.com <mailto:ruiyu.ni@intel.com>> escreveu:
> > 
> >> Yes.
> >> Check the PCD PcdShellMaxHistoryCommandCount (0x20) which sets
> >> the maximum command history.
> >> The memmap output should be stable after you run more than
> >> 0x20 commands.
> >> 
> >>> -----Original Message-----
> >>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org <mailto:edk2-devel-bounces@lists.01.org>] On Behalf Of
> >> Yao,
> >>> Jiewen
> >>> Sent: Saturday, June 30, 2018 3:28 AM
> >>> To: Rafael Machado <rafaelrodrigues.machado@gmail.com <mailto:rafaelrodrigues.machado@gmail.com>>; edk2-
> >>> devel@lists.01.org <mailto:devel@lists.01.org>
> >>> Subject: Re: [edk2] Question about memory map entries
> >>> 
> >>> Shell itself may allocate internal buffer to save something, such as
> >> history.
> >>> 
> >>> Thank you
> >>> Yao Jiewen
> >>> 
> >>>> -----Original Message-----
> >>>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org <mailto:edk2-devel-bounces@lists.01.org>] On Behalf Of
> >>>> Rafael Machado
> >>>> Sent: Friday, June 29, 2018 12:06 PM
> >>>> To: edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> >>>> Subject: [edk2] Question about memory map entries
> >>>> 
> >>>> Hi everyone
> >>>> 
> >>>> I have a question related to the memory map entries.
> >>>> Doing some tests, we noticed that if I have an application that has a
> >>>> lot of allocatepool() and freepool() calls, when this app is closed
> >>>> the amount of entries returned by the memmap shell commands increases a
> >>> lot.
> >>>> 
> >>>> Just for reference. This is the mapping before executing the
> >> application:
> >>>> 
> >>>> Type       Start            End              # Pages
> >>>> Attributes
> >>>> BS_Code    0000000000000000-0000000000000FFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Data    0000000000001000-0000000000001FFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Code    0000000000002000-000000000000BFFF 000000000000000A
> >>>> 000000000000000F
> >>>> Available  000000000000C000-0000000000057FFF 000000000000004C
> >>>> 000000000000000F
> >>>> Reserved   0000000000058000-0000000000058FFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000000059000-0000000000069FFF 0000000000000011
> >>>> 000000000000000F
> >>>> BS_Data    000000000006A000-000000000006AFFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Code    000000000006B000-000000000008BFFF 0000000000000021
> >>>> 000000000000000F
> >>>> Reserved   000000000008C000-000000000009FFFF 0000000000000014
> >>>> 000000000000000F
> >>>> BS_Code    0000000000100000-000000000010FFFF 0000000000000010
> >>>> 000000000000000F
> >>>> Available  0000000000110000-000000004D684FFF 000000000004D575
> >>>> 000000000000000F
> >>>> BS_Data    000000004D685000-000000004D6A4FFF 0000000000000020
> >>>> 000000000000000F
> >>>> Available  000000004D6A5000-000000004E34EFFF 0000000000000CAA
> >>>> 000000000000000F LoaderCode 000000004E34F000-000000004E42CFFF
> >>>> 00000000000000DE 000000000000000F
> >>>> BS_Data    000000004E42D000-0000000050510FFF 00000000000020E4
> >>>> 000000000000000F
> >>>> ACPI_NVS   0000000050511000-0000000050511FFF 0000000000000001
> >>>> 000000000000000F
> >>>> RT_Data    0000000050512000-0000000050512FFF 0000000000000001
> >>>> 800000000000000F
> >>>> BS_Data    0000000050513000-0000000050673FFF 0000000000000161
> >>>> 000000000000000F
> >>>> BS_Code    0000000050674000-0000000050674FFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000050675000-0000000052B6EFFF 00000000000024FA
> >>>> 000000000000000F
> >>>> BS_Data    0000000052B6F000-0000000053572FFF 0000000000000A04
> >>>> 000000000000000F
> >>>> Available  0000000053573000-0000000053834FFF 00000000000002C2
> >>>> 000000000000000F
> >>>> BS_Data    0000000053835000-0000000053A0DFFF 00000000000001D9
> >>>> 000000000000000F
> >>>> Available  0000000053A0E000-0000000053A64FFF 0000000000000057
> >>>> 000000000000000F
> >>>> BS_Data    0000000053A65000-0000000054778FFF 0000000000000D14
> >>>> 000000000000000F
> >>>> Available  0000000054779000-0000000054785FFF 000000000000000D
> >>>> 000000000000000F
> >>>> BS_Data    0000000054786000-00000000547CAFFF 0000000000000045
> >>>> 000000000000000F
> >>>> Available  00000000547CB000-00000000547D3FFF 0000000000000009
> >>>> 000000000000000F
> >>>> BS_Data    00000000547D4000-000000005481DFFF 000000000000004A
> >>>> 000000000000000F
> >>>> Available  000000005481E000-000000005481FFFF 0000000000000002
> >>>> 000000000000000F
> >>>> BS_Data    0000000054820000-0000000056683FFF 0000000000001E64
> >>>> 000000000000000F
> >>>> Available  0000000056684000-00000000590C2FFF 0000000000002A3F
> >>>> 000000000000000F
> >>>> BS_Code    00000000590C3000-0000000059E83FFF 0000000000000DC1
> >>>> 000000000000000F
> >>>> RT_Code    0000000059E84000-0000000059F4BFFF 00000000000000C8
> >>>> 800000000000000F
> >>>> RT_Data    0000000059F4C000-000000005B164FFF 0000000000001219
> >>>> 800000000000000F
> >>>> Reserved   000000005B165000-000000005B566FFF 0000000000000402
> >>>> 000000000000000F
> >>>> ACPI_NVS   000000005B567000-000000005B599FFF 0000000000000033
> >>>> 000000000000000F
> >>>> ACPI_Recl  000000005B59A000-000000005B5FEFFF 0000000000000065
> >>>> 000000000000000F
> >>>> BS_Data    000000005B5FF000-000000005B5FFFFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000100000000-000000029E7FFFFF 000000000019E800
> >>>> 000000000000000F
> >>>> Reserved   00000000000A0000-00000000000FFFFF 0000000000000060
> >>>> 0000000000000000
> >>>> Reserved   000000005B600000-000000005F7FFFFF 0000000000004200
> >>>> 0000000000000000
> >>>> MMIO       00000000F0000000-00000000F7FFFFFF 0000000000008000
> >>>> 8000000000000001
> >>>> MMIO       00000000FE010000-00000000FE010FFF 0000000000000001
> >>>> 8000000000000001
> >>>> 
> >>>>  Reserved  :         18,039 Pages (73,887,744 Bytes)
> >>>>  LoaderCode:            222 Pages (909,312 Bytes)
> >>>>  LoaderData:              0 Pages (0 Bytes)
> >>>>  BS_Code   :          3,582 Pages (14,671,872 Bytes)
> >>>>  BS_Data   :         23,116 Pages (94,683,136 Bytes)
> >>>>  RT_Code   :            200 Pages (819,200 Bytes)
> >>>>  RT_Data   :          4,634 Pages (18,980,864 Bytes)
> >>>>  ACPI_Recl :            101 Pages (413,696 Bytes)
> >>>>  ACPI_NVS  :             52 Pages (212,992 Bytes)
> >>>>  MMIO      :         32,769 Pages (134,221,824 Bytes)
> >>>>  MMIO_Port :              0 Pages (0 Bytes)
> >>>>  PalCode   :              0 Pages (0 Bytes)
> >>>>  Available :      2,039,014 Pages (8,351,801,344 Bytes)
> >>>>              --------------
> >>>> Total Memory:          8,089 MB (8,482,492,416 Bytes)
> >>>> 
> >>>> 
> >>>> 
> >>>> And this is the mapping after executing the application.
> >>>> 
> >>>> 
> >>>> Type       Start            End              # Pages
> >>>> Attributes
> >>>> BS_Code    0000000000000000-0000000000000FFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Data    0000000000001000-0000000000001FFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Code    0000000000002000-000000000000BFFF 000000000000000A
> >>>> 000000000000000F
> >>>> Available  000000000000C000-0000000000057FFF 000000000000004C
> >>>> 000000000000000F
> >>>> Reserved   0000000000058000-0000000000058FFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000000059000-0000000000069FFF 0000000000000011
> >>>> 000000000000000F
> >>>> BS_Data    000000000006A000-000000000006AFFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Code    000000000006B000-000000000008BFFF 0000000000000021
> >>>> 000000000000000F
> >>>> Reserved   000000000008C000-000000000009FFFF 0000000000000014
> >>>> 000000000000000F
> >>>> BS_Code    0000000000100000-000000000010FFFF 0000000000000010
> >>>> 000000000000000F
> >>>> Available  0000000000110000-000000004D684FFF 000000000004D575
> >>>> 000000000000000F
> >>>> BS_Data    000000004D685000-000000004D6A4FFF 0000000000000020
> >>>> 000000000000000F
> >>>> Available  000000004D6A5000-000000004E34EFFF 0000000000000CAA
> >>>> 000000000000000F LoaderCode 000000004E34F000-000000004E42CFFF
> >>>> 00000000000000DE 000000000000000F
> >>>> BS_Data    000000004E42D000-0000000050510FFF 00000000000020E4
> >>>> 000000000000000F
> >>>> ACPI_NVS   0000000050511000-0000000050511FFF 0000000000000001
> >>>> 000000000000000F
> >>>> RT_Data    0000000050512000-0000000050512FFF 0000000000000001
> >>>> 800000000000000F
> >>>> BS_Data    0000000050513000-0000000050673FFF 0000000000000161
> >>>> 000000000000000F
> >>>> BS_Code    0000000050674000-0000000050674FFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000050675000-0000000052384FFF 0000000000001D10
> >>>> 000000000000000F
> >>>> BS_Data    0000000052385000-0000000053572FFF 00000000000011EE
> >>>> 000000000000000F
> >>>> Available  0000000053573000-00000000535D7FFF 0000000000000065
> >>>> 000000000000000F
> >>>> BS_Data    00000000535D8000-000000005363EFFF 0000000000000067
> >>>> 000000000000000F
> >>>> Available  000000005363F000-0000000053834FFF 00000000000001F6
> >>>> 000000000000000F
> >>>> BS_Data    0000000053835000-0000000053A0DFFF 00000000000001D9
> >>>> 000000000000000F
> >>>> Available  0000000053A0E000-0000000053A64FFF 0000000000000057
> >>>> 000000000000000F
> >>>> BS_Data    0000000053A65000-0000000053F8EFFF 000000000000052A
> >>>> 000000000000000F
> >>>> Available  0000000053F8F000-0000000053F9AFFF 000000000000000C
> >>>> 000000000000000F
> >>>> BS_Data    0000000053F9B000-0000000053F9CFFF 0000000000000002
> >>>> 000000000000000F
> >>>> Available  0000000053F9D000-0000000053FA5FFF 0000000000000009
> >>>> 000000000000000F
> >>>> BS_Data    0000000053FA6000-0000000053FAAFFF 0000000000000005
> >>>> 000000000000000F
> >>>> Available  0000000053FAB000-000000005438CFFF 00000000000003E2
> >>>> 000000000000000F
> >>>> BS_Data    000000005438D000-00000000543A5FFF 0000000000000019
> >>>> 000000000000000F
> >>>> Available  00000000543A6000-0000000054416FFF 0000000000000071
> >>>> 000000000000000F
> >>>> BS_Data    0000000054417000-0000000054417FFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000054418000-0000000054425FFF 000000000000000E
> >>>> 000000000000000F
> >>>> BS_Data    0000000054426000-0000000054427FFF 0000000000000002
> >>>> 000000000000000F
> >>>> Available  0000000054428000-0000000054439FFF 0000000000000012
> >>>> 000000000000000F
> >>>> BS_Data    000000005443A000-000000005443FFFF 0000000000000006
> >>>> 000000000000000F
> >>>> Available  0000000054440000-000000005444FFFF 0000000000000010
> >>>> 000000000000000F
> >>>> BS_Data    0000000054450000-0000000054454FFF 0000000000000005
> >>>> 000000000000000F
> >>>> Available  0000000054455000-0000000054458FFF 0000000000000004
> >>>> 000000000000000F
> >>>> BS_Data    0000000054459000-000000005445BFFF 0000000000000003
> >>>> 000000000000000F
> >>>> Available  000000005445C000-0000000054467FFF 000000000000000C
> >>>> 000000000000000F
> >>>> BS_Data    0000000054468000-000000005446BFFF 0000000000000004
> >>>> 000000000000000F
> >>>> Available  000000005446C000-000000005446FFFF 0000000000000004
> >>>> 000000000000000F
> >>>> BS_Data    0000000054470000-0000000054470FFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000054471000-0000000054471FFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Data    0000000054472000-0000000054474FFF 0000000000000003
> >>>> 000000000000000F
> >>>> Available  0000000054475000-0000000054490FFF 000000000000001C
> >>>> 000000000000000F
> >>>> BS_Data    0000000054491000-0000000054494FFF 0000000000000004
> >>>> 000000000000000F
> >>>> Available  0000000054495000-00000000544ABFFF 0000000000000017
> >>>> 000000000000000F
> >>>> BS_Data    00000000544AC000-00000000544ACFFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  00000000544AD000-00000000544CCFFF 0000000000000020
> >>>> 000000000000000F
> >>>> BS_Data    00000000544CD000-00000000544CFFFF 0000000000000003
> >>>> 000000000000000F
> >>>> Available  00000000544D0000-00000000544E1FFF 0000000000000012
> >>>> 000000000000000F
> >>>> BS_Data    00000000544E2000-000000005450CFFF 000000000000002B
> >>>> 000000000000000F
> >>>> Available  000000005450D000-000000005451DFFF 0000000000000011
> >>>> 000000000000000F
> >>>> BS_Data    000000005451E000-000000005451EFFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  000000005451F000-0000000054535FFF 0000000000000017
> >>>> 000000000000000F
> >>>> BS_Data    0000000054536000-0000000054536FFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000054537000-000000005453EFFF 0000000000000008
> >>>> 000000000000000F
> >>>> BS_Data    000000005453F000-0000000054543FFF 0000000000000005
> >>>> 000000000000000F
> >>>> Available  0000000054544000-0000000054579FFF 0000000000000036
> >>>> 000000000000000F
> >>>> BS_Data    000000005457A000-0000000054585FFF 000000000000000C
> >>>> 000000000000000F
> >>>> Available  0000000054586000-0000000054589FFF 0000000000000004
> >>>> 000000000000000F
> >>>> BS_Data    000000005458A000-000000005458CFFF 0000000000000003
> >>>> 000000000000000F
> >>>> Available  000000005458D000-000000005459DFFF 0000000000000011
> >>>> 000000000000000F
> >>>> BS_Data    000000005459E000-000000005459EFFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  000000005459F000-00000000545A1FFF 0000000000000003
> >>>> 000000000000000F
> >>>> BS_Data    00000000545A2000-00000000545A2FFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  00000000545A3000-00000000545A7FFF 0000000000000005
> >>>> 000000000000000F
> >>>> BS_Data    00000000545A8000-00000000545A9FFF 0000000000000002
> >>>> 000000000000000F
> >>>> Available  00000000545AA000-0000000054756FFF 00000000000001AD
> >>>> 000000000000000F
> >>>> BS_Data    0000000054757000-000000005477EFFF 0000000000000028
> >>>> 000000000000000F
> >>>> Available  000000005477F000-0000000054780FFF 0000000000000002
> >>>> 000000000000000F
> >>>> BS_Data    0000000054781000-0000000054785FFF 0000000000000005
> >>>> 000000000000000F
> >>>> Available  0000000054786000-0000000054789FFF 0000000000000004
> >>>> 000000000000000F
> >>>> BS_Data    000000005478A000-00000000547CBFFF 0000000000000042
> >>>> 000000000000000F
> >>>> Available  00000000547CC000-00000000547CEFFF 0000000000000003
> >>>> 000000000000000F
> >>>> BS_Data    00000000547CF000-00000000547D3FFF 0000000000000005
> >>>> 000000000000000F
> >>>> Available  00000000547D4000-00000000547E7FFF 0000000000000014
> >>>> 000000000000000F
> >>>> BS_Data    00000000547E8000-00000000547F4FFF 000000000000000D
> >>>> 000000000000000F
> >>>> Available  00000000547F5000-00000000547FBFFF 0000000000000007
> >>>> 000000000000000F
> >>>> BS_Data    00000000547FC000-000000005481EFFF 0000000000000023
> >>>> 000000000000000F
> >>>> Available  000000005481F000-000000005481FFFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Data    0000000054820000-0000000054828FFF 0000000000000009
> >>>> 000000000000000F
> >>>> Available  0000000054829000-0000000054829FFF 0000000000000001
> >>>> 000000000000000F
> >>>> BS_Data    000000005482A000-0000000054CFAFFF 00000000000004D1
> >>>> 000000000000000F
> >>>> Available  0000000054CFB000-0000000054CFCFFF 0000000000000002
> >>>> 000000000000000F
> >>>> BS_Data    0000000054CFD000-0000000055269FFF 000000000000056D
> >>>> 000000000000000F
> >>>> Available  000000005526A000-000000005526EFFF 0000000000000005
> >>>> 000000000000000F
> >>>> BS_Data    000000005526F000-0000000056683FFF 0000000000001415
> >>>> 000000000000000F
> >>>> Available  0000000056684000-00000000590C2FFF 0000000000002A3F
> >>>> 000000000000000F
> >>>> BS_Code    00000000590C3000-0000000059E83FFF 0000000000000DC1
> >>>> 000000000000000F
> >>>> RT_Code    0000000059E84000-0000000059F4BFFF 00000000000000C8
> >>>> 800000000000000F
> >>>> RT_Data    0000000059F4C000-000000005B164FFF 0000000000001219
> >>>> 800000000000000F
> >>>> Reserved   000000005B165000-000000005B566FFF 0000000000000402
> >>>> 000000000000000F
> >>>> ACPI_NVS   000000005B567000-000000005B599FFF 0000000000000033
> >>>> 000000000000000F
> >>>> ACPI_Recl  000000005B59A000-000000005B5FEFFF 0000000000000065
> >>>> 000000000000000F
> >>>> BS_Data    000000005B5FF000-000000005B5FFFFF 0000000000000001
> >>>> 000000000000000F
> >>>> Available  0000000100000000-000000029E7FFFFF 000000000019E800
> >>>> 000000000000000F
> >>>> Reserved   00000000000A0000-00000000000FFFFF 0000000000000060
> >>>> 0000000000000000
> >>>> Reserved   000000005B600000-000000005F7FFFFF 0000000000004200
> >>>> 0000000000000000
> >>>> MMIO       00000000F0000000-00000000F7FFFFFF 0000000000008000
> >>>> 8000000000000001
> >>>> MMIO       00000000FE010000-00000000FE010FFF 0000000000000001
> >>>> 8000000000000001
> >>>> 
> >>>>  Reserved  :         18,039 Pages (73,887,744 Bytes)
> >>>>  LoaderCode:            222 Pages (909,312 Bytes)
> >>>>  LoaderData:              0 Pages (0 Bytes)
> >>>>  BS_Code   :          3,582 Pages (14,671,872 Bytes)
> >>>>  BS_Data   :         23,366 Pages (95,707,136 Bytes)
> >>>>  RT_Code   :            200 Pages (819,200 Bytes)
> >>>>  RT_Data   :          4,634 Pages (18,980,864 Bytes)
> >>>>  ACPI_Recl :            101 Pages (413,696 Bytes)
> >>>>  ACPI_NVS  :             52 Pages (212,992 Bytes)
> >>>>  MMIO      :         32,769 Pages (134,221,824 Bytes)
> >>>>  MMIO_Port :              0 Pages (0 Bytes)
> >>>>  PalCode   :              0 Pages (0 Bytes)
> >>>>  Available :      2,038,764 Pages (8,350,777,344 Bytes)
> >>>>              --------------
> >>>> Total Memory:          8,089 MB (8,482,492,416 Bytes)
> >>>> 
> >>>> 
> >>>> I would like to understand better what causes these entries to be
> >> created.
> >>>> We already checked and there is no memory leak at the code.
> >>>> What causes these entries to be created?
> >>>> Can this increase on the memory map entries represent a risk of
> >>>> hanging the system at the subsequent boot?
> >>>> 
> >>>> Thanks and Regards
> >>>> Rafael R. Machado
> >>>> _______________________________________________
> >>>> edk2-devel mailing list
> >>>> edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> >>>> https://lists.01.org/mailman/listinfo/edk2-devel <https://lists.01.org/mailman/listinfo/edk2-devel>
> >>> _______________________________________________
> >>> edk2-devel mailing list
> >>> edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> >>> https://lists.01.org/mailman/listinfo/edk2-devel <https://lists.01.org/mailman/listinfo/edk2-devel>
> >> 
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> > https://lists.01.org/mailman/listinfo/edk2-devel <https://lists.01.org/mailman/listinfo/edk2-devel>
> 



  reply	other threads:[~2018-08-02 14:37 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-29 19:05 Question about memory map entries Rafael Machado
2018-06-29 19:27 ` Yao, Jiewen
2018-06-30  1:31   ` Ni, Ruiyu
2018-06-30 12:02     ` Rafael Machado
2018-06-30 19:23       ` Andrew Fish
2018-08-02 12:39         ` Rafael Machado
2018-08-02 14:37           ` Andrew Fish [this message]
2018-08-02 14:44           ` Laszlo Ersek
2018-08-02 16:42             ` Rafael Machado
2018-08-02 17:48               ` Laszlo Ersek
2018-08-02 19:02                 ` Rafael Machado
2018-08-02 19:18                   ` Rafael Machado
2018-08-02 20:38                     ` Laszlo Ersek
2018-08-07 19:12                       ` Rafael Machado
2018-08-07 22:42                         ` Yao, Jiewen
2018-08-08 11:55                           ` Rafael Machado
2018-08-08 17:31                             ` Rafael Machado
2018-08-08 19:13                               ` Andrew Fish
2018-08-08 19:43                                 ` Rafael Machado

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=694BC161-9845-48D4-BBDF-8D7E1A77B285@apple.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox