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