Pull m68k fixes from Geert Uytterhoeven: "Summary: - Add missing initialization of max_pfn, which is needed to make selftests/vm/mlock2-tests succeed, - Wire up new mlock2 syscall" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: Wire up mlock2 m68knommu: Add missing initialization of max_pfn and {min,max}_low_pfn m68k/mm: sun3 - Add missing initialization of max_pfn and {min,max}_low_pfn m68k/mm: m54xx - Add missing initialization of max_pfn m68k/mm: motorola - Add missing initialization of max_pfn
Unified · Split
| @@ -98,7 +98,7 @@ static void __init mcf54xx_bootmem_alloc(void) · 97 unmodified lines | ||
| 98 | 98 | memstart = PAGE_ALIGN(_ramstart); |
| 99 | 99 | min_low_pfn = PFN_DOWN(_rambase); |
| 100 | 100 | start_pfn = PFN_DOWN(memstart); |
| 101 | − max_low_pfn = PFN_DOWN(_ramend); | |
| 101 | + max_pfn = max_low_pfn = PFN_DOWN(_ramend); | |
| 102 | 102 | high_memory = (void *)_ramend; |
| 103 | 103 | |
| 104 | 104 | m68k_virt_to_node_shift = fls(_ramend - _rambase - 1) - 6; |
| @@ -4,7 +4,7 @@ · 3 unmodified lines | ||
| 4 | 4 | #include <uapi/asm/unistd.h> |
| 5 | 5 | |
| 6 | 6 | |
| 7 | −#define NR_syscalls 375 | |
| 7 | +#define NR_syscalls 376 | |
| 8 | 8 | |
| 9 | 9 | #define __ARCH_WANT_OLD_READDIR |
| 10 | 10 | #define __ARCH_WANT_OLD_STAT |
| @@ -380,5 +380,6 @@ · 379 unmodified lines | ||
| 380 | 380 | #define __NR_sendmmsg 372 |
| 381 | 381 | #define __NR_userfaultfd 373 |
| 382 | 382 | #define __NR_membarrier 374 |
| 383 | +#define __NR_mlock2 375 | |
| 383 | 384 | |
| 384 | 385 | #endif /* _UAPI_ASM_M68K_UNISTD_H_ */ |
| @@ -238,11 +238,14 @@ void __init setup_arch(char **cmdline_p) · 237 unmodified lines | ||
| 238 | 238 | * Give all the memory to the bootmap allocator, tell it to put the |
| 239 | 239 | * boot mem_map at the start of memory. |
| 240 | 240 | */ |
| 241 | + min_low_pfn = PFN_DOWN(memory_start); | |
| 242 | + max_pfn = max_low_pfn = PFN_DOWN(memory_end); | |
| 243 | + | |
| 241 | 244 | bootmap_size = init_bootmem_node( |
| 242 | 245 | NODE_DATA(0), |
| 243 | − memory_start >> PAGE_SHIFT, /* map goes here */ | |
| 244 | − PAGE_OFFSET >> PAGE_SHIFT, /* 0 on coldfire */ | |
| 245 | − memory_end >> PAGE_SHIFT); | |
| 246 | + min_low_pfn, /* map goes here */ | |
| 247 | + PFN_DOWN(PAGE_OFFSET), | |
| 248 | + max_pfn); | |
| 246 | 249 | /* |
| 247 | 250 | * Free the usable memory, we have to make sure we do not free |
| 248 | 251 | * the bootmem bitmap so we then reserve it after freeing it :-) |
| @@ -395,3 +395,4 @@ ENTRY(sys_call_table) · 394 unmodified lines | ||
| 395 | 395 | .long sys_sendmmsg |
| 396 | 396 | .long sys_userfaultfd |
| 397 | 397 | .long sys_membarrier |
| 398 | + .long sys_mlock2 /* 375 */ | |
| @@ -250,7 +250,7 @@ void __init paging_init(void) · 249 unmodified lines | ||
| 250 | 250 | high_memory = phys_to_virt(max_addr); |
| 251 | 251 | |
| 252 | 252 | min_low_pfn = availmem >> PAGE_SHIFT; |
| 253 | − max_low_pfn = max_addr >> PAGE_SHIFT; | |
| 253 | + max_pfn = max_low_pfn = max_addr >> PAGE_SHIFT; | |
| 254 | 254 | |
| 255 | 255 | for (i = 0; i < m68k_num_memory; i++) { |
| 256 | 256 | addr = m68k_memory[i].addr; |
| @@ -118,13 +118,13 @@ static void __init sun3_bootmem_alloc(unsigned long memory_start, · 117 unmodified lines | ||
| 118 | 118 | memory_end = memory_end & PAGE_MASK; |
| 119 | 119 | |
| 120 | 120 | start_page = __pa(memory_start) >> PAGE_SHIFT; |
| 121 | − num_pages = __pa(memory_end) >> PAGE_SHIFT; | |
| 121 | + max_pfn = num_pages = __pa(memory_end) >> PAGE_SHIFT; | |
| 122 | 122 | |
| 123 | 123 | high_memory = (void *)memory_end; |
| 124 | 124 | availmem = memory_start; |
| 125 | 125 | |
| 126 | 126 | m68k_setup_node(0); |
| 127 | − availmem += init_bootmem_node(NODE_DATA(0), start_page, 0, num_pages); | |
| 127 | + availmem += init_bootmem(start_page, num_pages); | |
| 128 | 128 | availmem = (availmem + (PAGE_SIZE-1)) & PAGE_MASK; |
| 129 | 129 | |
| 130 | 130 | free_bootmem(__pa(availmem), memory_end - (availmem)); |