Hello Maciej,
On Wed, Oct 14, 2020 at 12:10:09PM +0100, Maciej W. Rozycki wrote:
> Fix a crash on DEC platforms starting with:
>
...
> @@ -146,6 +150,9 @@ void __init plat_mem_setup(void)
>
> ioport_resource.start = ~0UL;
> ioport_resource.end = 0UL;
> +
> + /* Stay away from the firmware working memory area for now. */
> + memblock_reserve(PHYS_OFFSET, __pa_symbol(&_text));
Shouldn't that be:
+ memblock_reserve(PHYS_OFFSET, __pa_symbol(&_text) - PHYS_OFFSET);
instead?
-Sergey
> }
>
> /*
>
Hello Serge,
> > @@ -146,6 +150,9 @@ void __init plat_mem_setup(void)
> >
> > ioport_resource.start = ~0UL;
> > ioport_resource.end = 0UL;
> > +
> > + /* Stay away from the firmware working memory area for now. */
>
> > + memblock_reserve(PHYS_OFFSET, __pa_symbol(&_text));
>
> Shouldn't that be:
> + memblock_reserve(PHYS_OFFSET, __pa_symbol(&_text) - PHYS_OFFSET);
> instead?
Good point: unlike `free_init_pages' which uses start/end this function
uses start/size as its arguments. For DEC effectively it does not matter
as PHYS_OFFSET is 0 anyway, but code has to be semantically correct.
I'll post an update.
Maciej