[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v1 06/21] ArmVirtualizationPkg: add padding to FDT allocation



Oops, Monday morning...

I actually wanted to check if it was a PCD. And I think it should be a PCD in 
case we have different build variations that require more or less padding.

And it does not explain why this value disappear later on. Maybe a later patch 
will give me the answer...


> -----Original Message-----
> From: Ard Biesheuvel [mailto:ard.biesheuvel@xxxxxxxxxx]
> Sent: 26 January 2015 11:48
> To: Olivier Martin
> Cc: edk2-devel@xxxxxxxxxxxxxxxxxxxxx; Laszlo Ersek; Roy Franz; Leif
> Lindholm; Stefano Stabellini; Ian.Campbell@xxxxxxxxxx; Anthony PERARD;
> Christoffer Dall; xen-devel@xxxxxxxxxxxxx; Ilias Biris
> Subject: Re: [PATCH v1 06/21] ArmVirtualizationPkg: add padding to FDT
> allocation
> 
> On 26 January 2015 at 11:47, Olivier Martin <olivier.martin@xxxxxxx>
> wrote:
> > I am a bit lost with this patch. I am looking for the definition of
> > FDT_PADDING. I cannot find it in the previous patches and in
> subversion.
> 
> It is in the first hunk of *this* patch
> 
> > And it looks like it is going to be removed later on as I cannot find
> it
> > anymore in the HEAD of your branch
> > https://git.linaro.org/people/ard.biesheuvel/uefi-
> next.git/shortlog/refs/hea
> > ds/linaro-topic-xen.
> >
> >> -----Original Message-----
> >> From: Ard Biesheuvel [mailto:ard.biesheuvel@xxxxxxxxxx]
> >> Sent: 23 January 2015 15:03
> >> To: edk2-devel@xxxxxxxxxxxxxxxxxxxxx; lersek@xxxxxxxxxx; Olivier
> >> Martin; roy.franz@xxxxxxxxxx; leif.lindholm@xxxxxxxxxx;
> >> stefano.stabellini@xxxxxxxxxxxxx; Ian.Campbell@xxxxxxxxxx;
> >> anthony.perard@xxxxxxxxxx; christoffer.dall@xxxxxxxxxx; xen-
> >> devel@xxxxxxxxxxxxx; ilias.biris@xxxxxxxxxx
> >> Cc: Ard Biesheuvel
> >> Subject: [PATCH v1 06/21] ArmVirtualizationPkg: add padding to FDT
> >> allocation
> >>
> >> Our primary user QEMU/mach-virt presents us with a FDT blob padded
> >> to 64 KB with plenty of room to set additional properties. However,
> >> in the general case, we should only add properties after making sure
> >> there is enough room available.
> >>
> >> Contributed-under: TianoCore Contribution Agreement 1.0
> >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> >> ---
> >>  .../Library/PlatformPeiLib/PlatformPeiLib.c             | 17
> >> +++++++++++++----
> >>  1 file changed, 13 insertions(+), 4 deletions(-)
> >>
> >> diff --git
> >>
> a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPeiLib/PlatformPe
> >> iLib.c
> >>
> b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPeiLib/PlatformPe
> >> iLib.c
> >> index f2404f89d152..540474608deb 100644
> >> ---
> >>
> a/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPeiLib/PlatformPe
> >> iLib.c
> >> +++
> >>
> b/ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformPeiLib/PlatformPe
> >> iLib.c
> >> @@ -24,6 +24,15 @@
> >>  #include <Guid/EarlyPL011BaseAddress.h>
> >>  #include <Guid/FdtHob.h>
> >>
> >> +//
> >> +// We may want to apply some changes to the device tree before
> passing
> >> it
> >> +// to the OS: for instance, if we find a PL031 RTC node and attach
> our
> >> +// runtime driver to it, we should disable it in the device tree by
> >> setting
> >> +// its status property to "disabled". Add some padding to make sure
> >> this is
> >> +// possible.
> >> +//
> >> +#define FDT_PADDING   256
> 
> 
> here ^^^
> 
> 
> >> +
> >>  EFI_STATUS
> >>  EFIAPI
> >>  PlatformPeim (
> >> @@ -32,7 +41,7 @@ PlatformPeim (
> >>  {
> >>    VOID               *Base;
> >>    VOID               *NewBase;
> >> -  UINTN              FdtSize;
> >> +  UINTN              FdtPages;
> >>    UINTN              *FdtHobData;
> >>    UINT64             *UartHobData;
> >>    INT32              Node, Prev;
> >> @@ -46,10 +55,10 @@ PlatformPeim (
> >>    Base = (VOID*)(UINTN)PcdGet64 (PcdDeviceTreeInitialBaseAddress);
> >>    ASSERT (Base != NULL && fdt_check_header (Base) == 0);
> >>
> >> -  FdtSize = fdt_totalsize (Base);
> >> -  NewBase = AllocatePages (EFI_SIZE_TO_PAGES (FdtSize));
> >> +  FdtPages = EFI_SIZE_TO_PAGES (fdt_totalsize (Base) +
> FDT_PADDING);
> >> +  NewBase = AllocatePages (FdtPages);
> >>    ASSERT (NewBase != NULL);
> >> -  CopyMem (NewBase, Base, FdtSize);
> >> +  fdt_open_into (Base, NewBase, EFI_PAGES_TO_SIZE (FdtPages));
> >>
> >>    FdtHobData = BuildGuidHob (&gFdtHobGuid, sizeof *FdtHobData);
> >>    ASSERT (FdtHobData != NULL);
> >> --
> >> 1.8.3.2
> >>
> >
> >
> >
> >





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.