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 | memstart = PAGE_ALIGN(_ramstart); | 98 | memstart = PAGE_ALIGN(_ramstart); |
| 99 | min_low_pfn = PFN_DOWN(_rambase); | 99 | min_low_pfn = PFN_DOWN(_rambase); |
| 100 | start_pfn = PFN_DOWN(memstart); | 100 | start_pfn = PFN_DOWN(memstart); |
| 101 | max_low_pfn = PFN_DOWN(_ramend); | 101 | max_pfn = max_low_pfn = PFN_DOWN(_ramend); |
| 102 | high_memory = (void *)_ramend; | 102 | high_memory = (void *)_ramend; |
| 103 | 103 | ||
| 104 | m68k_virt_to_node_shift = fls(_ramend - _rambase - 1) - 6; | 104 | m68k_virt_to_node_shift = fls(_ramend - _rambase - 1) - 6; |
| @@ -4,7 +4,7 @@ · 3 unmodified lines | |||
| 4 | #include <uapi/asm/unistd.h> | 4 | #include <uapi/asm/unistd.h> |
| 5 | 5 | ||
| 6 | 6 | ||
| 7 | #define NR_syscalls 375 | 7 | #define NR_syscalls 376 |
| 8 | 8 | ||
| 9 | #define __ARCH_WANT_OLD_READDIR | 9 | #define __ARCH_WANT_OLD_READDIR |
| 10 | #define __ARCH_WANT_OLD_STAT | 10 | #define __ARCH_WANT_OLD_STAT |
| @@ -380,5 +380,6 @@ · 379 unmodified lines | |||
| 380 | #define __NR_sendmmsg 372 | 380 | #define __NR_sendmmsg 372 |
| 381 | #define __NR_userfaultfd 373 | 381 | #define __NR_userfaultfd 373 |
| 382 | #define __NR_membarrier 374 | 382 | #define __NR_membarrier 374 |
| 383 | #define __NR_mlock2 375 | ||
| 383 | 384 | ||
| 384 | #endif /* _UAPI_ASM_M68K_UNISTD_H_ */ | 385 | #endif /* _UAPI_ASM_M68K_UNISTD_H_ */ |
| @@ -238,11 +238,14 @@ void __init setup_arch(char **cmdline_p) · 237 unmodified lines | |||
| 238 | * Give all the memory to the bootmap allocator, tell it to put the | 238 | * Give all the memory to the bootmap allocator, tell it to put the |
| 239 | * boot mem_map at the start of memory. | 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 | bootmap_size = init_bootmem_node( | 244 | bootmap_size = init_bootmem_node( |
| 242 | NODE_DATA(0), | 245 | NODE_DATA(0), |
| 243 | memory_start >> PAGE_SHIFT, /* map goes here */ | 246 | min_low_pfn, /* map goes here */ |
| 244 | PAGE_OFFSET >> PAGE_SHIFT, /* 0 on coldfire */ | 247 | PFN_DOWN(PAGE_OFFSET), |
| 245 | memory_end >> PAGE_SHIFT); | 248 | max_pfn); |
| 246 | /* | 249 | /* |
| 247 | * Free the usable memory, we have to make sure we do not free | 250 | * Free the usable memory, we have to make sure we do not free |
| 248 | * the bootmem bitmap so we then reserve it after freeing it :-) | 251 | * the bootmem bitmap so we then reserve it after freeing it :-) |
| @@ -395,3 +395,4 @@ ENTRY(sys_call_table) · 394 unmodified lines | |||
| 395 | .long sys_sendmmsg | 395 | .long sys_sendmmsg |
| 396 | .long sys_userfaultfd | 396 | .long sys_userfaultfd |
| 397 | .long sys_membarrier | 397 | .long sys_membarrier |
| 398 | .long sys_mlock2 /* 375 */ | ||
| @@ -250,7 +250,7 @@ void __init paging_init(void) · 249 unmodified lines | |||
| 250 | high_memory = phys_to_virt(max_addr); | 250 | high_memory = phys_to_virt(max_addr); |
| 251 | 251 | ||
| 252 | min_low_pfn = availmem >> PAGE_SHIFT; | 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 | for (i = 0; i < m68k_num_memory; i++) { | 255 | for (i = 0; i < m68k_num_memory; i++) { |
| 256 | addr = m68k_memory[i].addr; | 256 | addr = m68k_memory[i].addr; |
| @@ -118,13 +118,13 @@ static void __init sun3_bootmem_alloc(unsigned long memory_start, · 117 unmodified lines | |||
| 118 | memory_end = memory_end & PAGE_MASK; | 118 | memory_end = memory_end & PAGE_MASK; |
| 119 | 119 | ||
| 120 | start_page = __pa(memory_start) >> PAGE_SHIFT; | 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 | high_memory = (void *)memory_end; | 123 | high_memory = (void *)memory_end; |
| 124 | availmem = memory_start; | 124 | availmem = memory_start; |
| 125 | 125 | ||
| 126 | m68k_setup_node(0); | 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 | availmem = (availmem + (PAGE_SIZE-1)) & PAGE_MASK; | 128 | availmem = (availmem + (PAGE_SIZE-1)) & PAGE_MASK; |
| 129 | 129 | ||
| 130 | free_bootmem(__pa(availmem), memory_end - (availmem)); | 130 | free_bootmem(__pa(availmem), memory_end - (availmem)); |