grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 3/7] efi: move fdt helper library


From: Leif Lindholm
Subject: Re: [PATCH 3/7] efi: move fdt helper library
Date: Fri, 28 Jul 2017 19:08:42 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

On Thu, Jul 27, 2017 at 04:54:19PM +0200, Daniel Kiper wrote:
> On Mon, Jun 12, 2017 at 03:53:37PM +0100, Leif Lindholm wrote:
> > There is nothing ARM64 (or even ARM) specific about the efi fdt helper
> > library, which is used for locating or overriding a firmware-provided
> > devicetree in a UEFI system - so move it to loader/efi for reuse.
> 
> OK.
> 
> > Move the fdtload.h include file to grub/efi
> 
> This begs one patch...

Sure.

> > and move the EFI page size
> > definitions to grub/efi/memory.h. (These definitions refer strictly to
> > allocation operations, as opposed to translation granules.)
> 
> Great! This is what I requested earlier. However, please put this in separate 
> patch.

Sure.

> > ---
> >  grub-core/Makefile.core.def           | 2 +-
> >  grub-core/loader/arm64/linux.c        | 3 ++-
> >  grub-core/loader/arm64/xen_boot.c     | 3 ++-
> >  grub-core/loader/{arm64 => efi}/fdt.c | 3 ++-
> >  include/grub/{arm64 => efi}/fdtload.h | 3 ---
> >  include/grub/efi/memory.h             | 3 +++
> >  6 files changed, 10 insertions(+), 7 deletions(-)
> >  rename grub-core/loader/{arm64 => efi}/fdt.c (98%)
> >  rename include/grub/{arm64 => efi}/fdtload.h (89%)
> >
> > diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
> > index 1d86bd22e..a65c27f7f 100644
> > --- a/grub-core/Makefile.core.def
> > +++ b/grub-core/Makefile.core.def
> > @@ -1707,7 +1707,7 @@ module = {
> >
> >  module = {
> >    name = fdt;
> > -  arm64 = loader/arm64/fdt.c;
> > +  arm64 = loader/efi/fdt.c;
> >    common = lib/fdt.c;
> >    enable = fdt;
> >  };
> > diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
> > index 9519d2e4d..cac94d53d 100644
> > --- a/grub-core/loader/arm64/linux.c
> > +++ b/grub-core/loader/arm64/linux.c
> > @@ -26,8 +26,9 @@
> >  #include <grub/mm.h>
> >  #include <grub/types.h>
> >  #include <grub/cpu/linux.h>
> > -#include <grub/cpu/fdtload.h>
> >  #include <grub/efi/efi.h>
> > +#include <grub/efi/fdtload.h>
> > +#include <grub/efi/memory.h>
> 
> Why do you shuffle and add headers?

The shuffling is to fit alphabetically sorted when moving from
cpu/fdtload.h to efi/fdtload.h.

The addition is because the EFI_PAGE_SHIFT & co moves from
cpu/fdtload.h into efi/memory.h.

> >  #include <grub/efi/pe32.h>
> >  #include <grub/i18n.h>
> >  #include <grub/lib/cmdline.h>
> > diff --git a/grub-core/loader/arm64/xen_boot.c 
> > b/grub-core/loader/arm64/xen_boot.c
> > index 27ede46ca..d092a53ed 100644
> > --- a/grub-core/loader/arm64/xen_boot.c
> > +++ b/grub-core/loader/arm64/xen_boot.c
> > @@ -27,9 +27,10 @@
> >  #include <grub/misc.h>
> >  #include <grub/mm.h>
> >  #include <grub/types.h>
> > -#include <grub/cpu/fdtload.h>
> >  #include <grub/cpu/linux.h>
> >  #include <grub/efi/efi.h>
> > +#include <grub/efi/fdtload.h>
> > +#include <grub/efi/memory.h>
> 
> Ditto?

Ditto.

> >  #include <grub/efi/pe32.h> /* required by struct xen_hypervisor_header */
> >  #include <grub/i18n.h>
> >  #include <grub/lib/cmdline.h>
> > diff --git a/grub-core/loader/arm64/fdt.c b/grub-core/loader/efi/fdt.c
> > similarity index 98%
> > rename from grub-core/loader/arm64/fdt.c
> > rename to grub-core/loader/efi/fdt.c
> > index db49cf649..be369fd9d 100644
> > --- a/grub-core/loader/arm64/fdt.c
> > +++ b/grub-core/loader/efi/fdt.c
> > @@ -18,12 +18,13 @@
> >
> >  #include <grub/fdt.h>
> >  #include <grub/mm.h>
> > -#include <grub/cpu/fdtload.h>
> >  #include <grub/err.h>
> >  #include <grub/dl.h>
> >  #include <grub/command.h>
> >  #include <grub/file.h>
> >  #include <grub/efi/efi.h>
> > +#include <grub/efi/fdtload.h>
> > +#include <grub/machine/memory.h>
> 
> Ditto?

Ditto.

> >  static void *loaded_fdt;
> >  static void *fdt;
> > diff --git a/include/grub/arm64/fdtload.h b/include/grub/efi/fdtload.h
> > similarity index 89%
> > rename from include/grub/arm64/fdtload.h
> > rename to include/grub/efi/fdtload.h
> > index 7b9ddba91..713c9424d 100644
> > --- a/include/grub/arm64/fdtload.h
> > +++ b/include/grub/efi/fdtload.h
> > @@ -29,7 +29,4 @@ grub_fdt_unload (void);
> >  grub_err_t
> >  grub_fdt_install (void);
> >
> > -#define GRUB_EFI_PAGE_SHIFT        12
> > -#define GRUB_EFI_BYTES_TO_PAGES(bytes)   (((bytes) + 0xfff) >> 
> > GRUB_EFI_PAGE_SHIFT)
> > -
> >  #endif
> > diff --git a/include/grub/efi/memory.h b/include/grub/efi/memory.h
> > index 20526b146..0eb0b70b6 100644
> > --- a/include/grub/efi/memory.h
> > +++ b/include/grub/efi/memory.h
> > @@ -22,6 +22,9 @@
> >  #include <grub/err.h>
> >  #include <grub/types.h>
> >
> > +#define GRUB_EFI_PAGE_SHIFT        12
> > +#define GRUB_EFI_BYTES_TO_PAGES(bytes)   (((bytes) + 0xfff) >> 
> > GRUB_EFI_PAGE_SHIFT)
> 
> If you move this then fix the aligment. I mean more or less this:
> 
> #define GRUB_EFI_PAGE_SHIFT              12
> #define GRUB_EFI_BYTES_TO_PAGES(bytes)   (((bytes) + 0xfff) >> 
> GRUB_EFI_PAGE_SHIFT)
> 
> #define GRUB_MMAP_REGISTER_BY_FIRMWARE   1

Will do.

/
    Leif




reply via email to

[Prev in Thread] Current Thread [Next in Thread]