[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
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. 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 > + > 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |