Hi, Leif/Ard/Abner/Daniel
Since you're maintainers/reviewers of EmbeddedPkg. Do you have any comments to 
this patch?

The same reminder mail has been sent out two weeks ago but no response is 
received. Or anyone else can comment on this patch?

Thanks much!
Min

> -----Original Message-----
> From: Xu, Min M
> Sent: Wednesday, July 20, 2022 4:50 PM
> To: [email protected]; Leif Lindholm <[email protected]>; Ard Biesheuvel
> <[email protected]>; Chang, Abner <[email protected]>;
> Schaefer, Daniel <[email protected]>
> Cc: Gerd Hoffmann <[email protected]>; Xu, Min M <[email protected]>
> Subject: RE: [PATCH V2 3/8] EmbeddedPkg: Add AllocateRuntimePages in
> PrePiMemoryAllocationLib
> 
> Hi, Leif/Ard/Abner/Daniel
> Since you're maintainers/reviewers of EmbeddedPkg. Do you have any
> comments to this patch?
> 
> Thanks
> Min
> 
> > -----Original Message-----
> > From: Xu, Min M <[email protected]>
> > Sent: Sunday, June 26, 2022 11:06 AM
> > To: [email protected]
> > Cc: Xu, Min M <[email protected]>; Leif Lindholm
> > <[email protected]>; Ard Biesheuvel
> > <[email protected]>; Chang, Abner <[email protected]>;
> > Schaefer, Daniel <[email protected]>; Gerd Hoffmann
> > <[email protected]>
> > Subject: [PATCH V2 3/8] EmbeddedPkg: Add AllocateRuntimePages in
> > PrePiMemoryAllocationLib
> >
> > From: Min M Xu <[email protected]>
> >
> > AllocateRuntimePages is used to allocate one or more 4KB pages of type
> > EfiRuntimeServicesData.
> >
> > Cc: Leif Lindholm <[email protected]>
> > Cc: Ard Biesheuvel <[email protected]>
> > Cc: Abner Chang <[email protected]>
> > Cc: Daniel Schaefer <[email protected]>
> > Cc: Gerd Hoffmann <[email protected]>
> > Signed-off-by: Min Xu <[email protected]>
> > ---
> >  EmbeddedPkg/Include/Library/PrePiLib.h        | 19 ++++++
> >  .../MemoryAllocationLib.c                     | 64 ++++++++++++++-----
> >  2 files changed, 67 insertions(+), 16 deletions(-)
> >
> > diff --git a/EmbeddedPkg/Include/Library/PrePiLib.h
> > b/EmbeddedPkg/Include/Library/PrePiLib.h
> > index 7b2cea296f1c..3741b08c4478 100644
> > --- a/EmbeddedPkg/Include/Library/PrePiLib.h
> > +++ b/EmbeddedPkg/Include/Library/PrePiLib.h
> > @@ -665,6 +665,25 @@ AllocatePages (
> >    IN UINTN  Pages
> >    );
> >
> > +/**
> > +  Allocates one or more 4KB pages of type EfiRuntimeServicesData.
> > +
> > +  Allocates the number of 4KB pages of type EfiRuntimeServicesData
> > + and returns a pointer to the  allocated buffer.  The buffer returned
> > + is aligned on a 4KB boundary.  If Pages is 0, then NULL  is
> > + returned.  If there is not enough memory remaining to satisfy the
> > + request, then NULL is
> > returned.
> > +
> > +  @param  Pages                 The number of 4 KB pages to allocate.
> > +
> > +  @return A pointer to the allocated buffer or NULL if allocation fails.
> > +
> > +**/
> > +VOID *
> > +EFIAPI
> > +AllocateRuntimePages (
> > +  IN UINTN  Pages
> > +  );
> > +
> >  /**
> >    Allocates a buffer of type EfiBootServicesData.
> >
> > diff --git
> > a/EmbeddedPkg/Library/PrePiMemoryAllocationLib/MemoryAllocationLib.c
> > b/EmbeddedPkg/Library/PrePiMemoryAllocationLib/MemoryAllocationLib.c
> > index 78f8da5e9527..9d7b34ad28fa 100644
> > ---
> > a/EmbeddedPkg/Library/PrePiMemoryAllocationLib/MemoryAllocationLib.c
> > +++
> > b/EmbeddedPkg/Library/PrePiMemoryAllocationLib/MemoryAllocationLib.c
> > @@ -14,23 +14,11 @@
> >  #include <Library/PrePiLib.h>
> >  #include <Library/DebugLib.h>
> >
> > -/**
> > -  Allocates one or more 4KB pages of type EfiBootServicesData.
> > -
> > -  Allocates the number of 4KB pages of MemoryType and returns a
> > pointer to the
> > -  allocated buffer.  The buffer returned is aligned on a 4KB
> > boundary.  If Pages is 0, then NULL
> > -  is returned.  If there is not enough memory remaining to satisfy
> > the request, then NULL is
> > -  returned.
> > -
> > -  @param  Pages                 The number of 4 KB pages to allocate.
> > -
> > -  @return A pointer to the allocated buffer or NULL if allocation fails.
> > -
> > -**/
> >  VOID *
> >  EFIAPI
> > -AllocatePages (
> > -  IN UINTN  Pages
> > +InternalAllocatePages (
> > +  IN UINTN            Pages,
> > +  IN EFI_MEMORY_TYPE  MemoryType
> >    )
> >  {
> >    EFI_PEI_HOB_POINTERS  Hob;
> > @@ -65,12 +53,56 @@ AllocatePages (
> >      BuildMemoryAllocationHob (
> >        Hob.HandoffInformationTable->EfiFreeMemoryTop,
> >        Pages * EFI_PAGE_SIZE,
> > -      EfiBootServicesData
> > +      MemoryType
> >        );
> >      return (VOID *)(UINTN)Hob.HandoffInformationTable-
> > >EfiFreeMemoryTop;
> >    }
> >  }
> >
> > +/**
> > +  Allocates one or more 4KB pages of type EfiBootServicesData.
> > +
> > +  Allocates the number of 4KB pages of MemoryType and returns a
> > + pointer to the  allocated buffer.  The buffer returned is aligned on
> > + a 4KB boundary.  If Pages is 0, then NULL  is returned.  If there is
> > + not enough memory remaining to satisfy the request, then NULL is
> returned.
> > +
> > +  @param  Pages                 The number of 4 KB pages to allocate.
> > +
> > +  @return A pointer to the allocated buffer or NULL if allocation fails.
> > +
> > +**/
> > +VOID *
> > +EFIAPI
> > +AllocatePages (
> > +  IN UINTN  Pages
> > +  )
> > +{
> > +  return InternalAllocatePages (Pages, EfiBootServicesData); }
> > +
> > +/**
> > +  Allocates one or more 4KB pages of type EfiRuntimeServicesData.
> > +
> > +  Allocates the number of 4KB pages of type EfiRuntimeServicesData
> > + and returns a pointer to the  allocated buffer.  The buffer returned
> > + is aligned on a 4KB boundary.  If Pages is 0, then NULL  is
> > + returned.  If there is not enough memory remaining to satisfy the
> > + request, then NULL is
> > returned.
> > +
> > +  @param  Pages                 The number of 4 KB pages to allocate.
> > +
> > +  @return A pointer to the allocated buffer or NULL if allocation fails.
> > +
> > +**/
> > +VOID *
> > +EFIAPI
> > +AllocateRuntimePages (
> > +  IN UINTN  Pages
> > +  )
> > +{
> > +  return InternalAllocatePages (Pages, EfiRuntimeServicesData); }
> > +
> >  /**
> >    Allocates one or more 4KB pages of type EfiBootServicesData at a
> > specified alignment.
> >
> > --
> > 2.29.2.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#92076): https://edk2.groups.io/g/devel/message/92076
Mute This Topic: https://groups.io/mt/91995190/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to