Re: [PATCH 4/4] m68knommu: Add missing initialization of max_pfn and {min,max}_low_pfn

Greg Ungerer
2015-11-16T23:46:37Z

Hi Geert,

On 16/11/15 23:05, Geert Uytterhoeven wrote:
> On Mon, Nov 16, 2015 at 1:18 PM, Greg Ungerer <gerg@uclinux.org> wrote:
>>> --- a/arch/m68k/kernel/setup_no.c
>>> +++ b/arch/m68k/kernel/setup_no.c
>>> @@ -238,11 +238,14 @@ void __init setup_arch(char **cmdline_p)
>>> * Give all the memory to the bootmap allocator, tell it to put
>>> the
>>> * boot mem_map at the start of memory.
>>> */
>>> + min_low_pfn = PFN_DOWN(memory_start);
>>> + max_pfn = max_low_pfn = PFN_DOWN(memory_end);
>>> +
>>> bootmap_size = init_bootmem_node(
>>> NODE_DATA(0),
>>> - memory_start >> PAGE_SHIFT, /* map goes here */
>>> - PAGE_OFFSET >> PAGE_SHIFT, /* 0 on coldfire
>>> */
>>> - memory_end >> PAGE_SHIFT);
>>> + min_low_pfn, /* map goes here */
>>> + PFN_DOWN(PAGE_OFFSET), /* 0 on coldfire */
>>> + max_pfn);
>>> /*
>>> * Free the usable memory, we have to make sure we do not free
>>> * the bootmem bitmap so we then reserve it after freeing it :-)
>>
>> Should this be changed to use init_bootmem() as per your changes
>> in patch 3 ("m68k/mm: sun3 - Add missing initialization of max_pfn and
>> {min,max}_low_pfn")? For the same reason?
>
> No. PAGE_OFFSET = PAGE_OFFSET_RAW = CONFIG_RAMBASE.
> As the comment says, this is zero on coldfire, but not on all m68knommu
> platforms.
>
> Upon closer look, this isn't even true on all Coldfire boards:
>
> arch/m68k/configs/m5208evb_defconfig:CONFIG_RAMBASE=0x40000000

Yes, that comment is definitely wrong!

Regards
Greg