Skip to content

Commit

Permalink
arm64: mm: drop fixup_init() and mm.h
Browse files Browse the repository at this point in the history
There is only fixup_init() in mm.h , and it is only called
in free_initmem(), so move the codes from fixup_init() into
free_initmem(), then drop fixup_init() and mm.h.

Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
  • Loading branch information
Kefeng Wang authored and Will Deacon committed Sep 6, 2016
1 parent 282b879 commit dae8c23
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 21 deletions.
2 changes: 0 additions & 2 deletions arch/arm64/mm/flush.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
#include <asm/cachetype.h>
#include <asm/tlbflush.h>

#include "mm.h"

void flush_cache_range(struct vm_area_struct *vma, unsigned long start,
unsigned long end)
{
Expand Down
10 changes: 7 additions & 3 deletions arch/arm64/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include <linux/dma-contiguous.h>
#include <linux/efi.h>
#include <linux/swiotlb.h>
#include <linux/vmalloc.h>

#include <asm/boot.h>
#include <asm/fixmap.h>
Expand All @@ -48,8 +49,6 @@
#include <asm/tlb.h>
#include <asm/alternative.h>

#include "mm.h"

/*
* We need to be able to catch inadvertent references to memstart_addr
* that occur (potentially in generic code) before arm64_memblock_init()
Expand Down Expand Up @@ -486,7 +485,12 @@ void free_initmem(void)
{
free_reserved_area(__va(__pa(__init_begin)), __va(__pa(__init_end)),
0, "unused kernel");
fixup_init();
/*
* Unmap the __init region but leave the VM area in place. This
* prevents the region from being reused for kernel modules, which
* is not supported by kallsyms.
*/
unmap_kernel_range((u64)__init_begin, (u64)(__init_end - __init_begin));
}

#ifdef CONFIG_BLK_DEV_INITRD
Expand Down
2 changes: 0 additions & 2 deletions arch/arm64/mm/mm.h

This file was deleted.

12 changes: 0 additions & 12 deletions arch/arm64/mm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
#include <asm/memblock.h>
#include <asm/mmu_context.h>

#include "mm.h"

u64 idmap_t0sz = TCR_T0SZ(VA_BITS);

u64 kimage_voffset __ro_after_init;
Expand Down Expand Up @@ -400,16 +398,6 @@ void mark_rodata_ro(void)
section_size, PAGE_KERNEL_RO);
}

void fixup_init(void)
{
/*
* Unmap the __init region but leave the VM area in place. This
* prevents the region from being reused for kernel modules, which
* is not supported by kallsyms.
*/
unmap_kernel_range((u64)__init_begin, (u64)(__init_end - __init_begin));
}

static void __init map_kernel_segment(pgd_t *pgd, void *va_start, void *va_end,
pgprot_t prot, struct vm_struct *vma)
{
Expand Down
2 changes: 0 additions & 2 deletions arch/arm64/mm/pgd.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
#include <asm/page.h>
#include <asm/tlbflush.h>

#include "mm.h"

static struct kmem_cache *pgd_cache;

pgd_t *pgd_alloc(struct mm_struct *mm)
Expand Down

0 comments on commit dae8c23

Please sign in to comment.