bug in identity map for 4KB pages?
Will Deacon
will.deacon at arm.com
Wed Jul 29 05:30:02 PDT 2015
On Wed, Jul 29, 2015 at 12:58:07PM +0100, Ard Biesheuvel wrote:
> On 29 July 2015 at 13:49, Ard Biesheuvel <ard.biesheuvel at linaro.org> wrote:
> > Wouldn't something like this make more sense?
> >
> > diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
> > index 597831bdddf3..64480b65ef17 100644
> > --- a/arch/arm64/mm/init.c
> > +++ b/arch/arm64/mm/init.c
> > @@ -158,6 +158,15 @@ early_param("mem", early_mem);
> >
> > void __init arm64_memblock_init(void)
> > {
> > + /*
> > + * Remove the memory that we will not be able to cover
> > + * with the linear mapping.
> > + */
> > + const s64 linear_region_size = -(s64)PAGE_OFFSET;
> > +
> > + memblock_remove(0, memstart_addr);
> > + memblock_remove(memstart_addr + linear_region_size, ULLONG_MAX);
> > +
> > memblock_enforce_memory_limit(memory_limit);
> >
> > /*
> > """
> >
> > (taken from my patch 'arm64: override early_init_dt_add_memory_arch()'
> > sent to the list a while ago as part of the linear mapping decoupling
> > series)
> >
>
> (replying to self) but actually, either solution still means that, of
> the ~16 GB this platform seems to have installed, only 2 GB is made
> available.
>
> I suppose there is little we can do about it, since we cannot ignore
> the lower 2GB if the kernel resides there ...
Printing a message to the console isn't a bad idea, though.
Will
More information about the linux-arm-kernel
mailing list