On Wed, Oct 28, 2020 at 02:04:41PM +0100, Ard Biesheuvel wrote: > On Wed, 28 Oct 2020 at 14:01, Russell King - ARM Linux admin > <linux@xxxxxxxxxxxxxxx> wrote: > > > > On Wed, Oct 28, 2020 at 01:52:48PM +0100, Ard Biesheuvel wrote: > > > Does this help? > > > > > > diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h > > > index bb79e52aeb90..4f355bda872a 100644 > > > --- a/arch/arm/include/asm/memory.h > > > +++ b/arch/arm/include/asm/memory.h > > > @@ -68,8 +68,8 @@ > > > #define XIP_VIRT_ADDR(physaddr) (MODULES_VADDR + ((physaddr) & 0x000fffff)) > > > > > > #define FDT_FIXED_BASE UL(0xff800000) > > > -#define FDT_FIXED_SIZE (2 * PMD_SIZE) > > > -#define FDT_VIRT_ADDR(physaddr) ((void *)(FDT_FIXED_BASE | > > > (physaddr) % PMD_SIZE)) > > > +#define FDT_FIXED_SIZE (2 * SECTION_SIZE) > > > +#define FDT_VIRT_ADDR(physaddr) ((void *)(FDT_FIXED_BASE | > > > (physaddr) % SECTION_SIZE)) > > > > Is this correct? If the FDT fixed size is 2x, why does FDT_VIRT_ADDR() > > only work for half of it? > > > > Perhaps the naming is confusing. This is only used to obtain the start > of the virtually mapped DT, which amounts to the virtual address of > the section plus the physical address modulo the section size. > > I will rename physaddr to physbase when I respin this as a patch. > Shall I rename FDT_VIRT_ADDR to FDT_VIRT_BASE as well? Yes please, I think that makes it clearer what is going on here. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!