Sorin:
  When your Shell Application is loaded, it will take some memory. Its taken 
memory may conflict with your allocated memory.

  Have you tried to allocate other free memory range, such as 14610000, 
20200000?

Thanks
Liming
From: Sorin Vinturis [mailto:[email protected]]
Sent: Wednesday, September 04, 2013 9:51 PM
To: Gao, Liming; [email protected]
Subject: Re: [edk2] AllocatePages returns EFI_NOT_FOUND

Hi Liming,

Yes, GetMemoryMap function sees that memory pointed by PhysicaAddress as free - 
marked as EfiConventionalMemory -,
but when trying to allocate memory there, using the AllocatePages function, it 
fails with EFI_NOT_FOUND status.

Here is the memory map I am retrieving:

PhysicalAddress     NoOfPages

8000

 80

59000               6

100000              3840

1100000             28416

131D0000            454

14610000            47600

20200000            130564

40005000            564399

100000000           189952
The problem appears when I try to allocate memory at 131D0000 address.

Thanks,
Sorin

________________________________
From: "Gao, Liming" <[email protected]<mailto:[email protected]>>
To: Sorin Vinturis <[email protected]<mailto:[email protected]>>; 
"[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Sent: Wednesday, 4 September 2013, 12:37
Subject: RE: [edk2] AllocatePages returns EFI_NOT_FOUND

Hi:
  Allocation requests of Type AllocateAddress means allocate pages at the 
address pointed to by Memory on input. If the requested pages could not be 
found, EFI_NOT_FOUND will return.

  For your issue, the memory described by PhysicalAddress should not be 
available. So, EFI_NOT_FOUND returns. Do you mean that you call GetMemoryMap() 
and see the memory pointed by PhysicalAddress is free? If yes, could you show 
the free memory layout and PhysicalAddress value?

Thanks
Liming
From: Sorin Vinturis [mailto:[email protected]]
Sent: Wednesday, September 04, 2013 3:43 PM
To: [email protected]<mailto:[email protected]>
Subject: [edk2] AllocatePages returns EFI_NOT_FOUND

Hi all,

I have an UEFI application in which I try to allocate memory of type 
EfiBootServicesData, using the AllocatePages function. In order to find the 
next available (unallocated) memory space - of type EfiConventionalMemory - I 
use the GetMemoryMap function. The problem which I'm facing is that when I try 
to allocate memory at one particular address, the AllocatePages function 
returns EFI_NOT_FOUND. This issue happens every time, when the application is 
executed, and at the exact memory address; for all remaining free memory blocks 
the allocation performs without problems.

I am calling the allocation function as follows:
gBS->AllocatePages ( AllocateAddress, EfiBootServicesData, NumberOfPages, 
&PhysicalAddress );
Is this scenario a memory access error?
How should I interpret this?

Thanks,
Sorin

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to