Skip to content

Commit

Permalink
[ARM] Cleanup arch/arm/mm a little
Browse files Browse the repository at this point in the history
Move top_pmd into arch/arm/mm/mm.h - nothing outside arch/arm/mm
references it.

Move the repeated definition of TOP_PTE into mm/mm.h, as well as
a few function prototypes.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King authored and Russell King committed Sep 20, 2006
1 parent e478bec commit 1b2e2b7
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 36 deletions.
4 changes: 2 additions & 2 deletions arch/arm/mm/copypage-v4mc.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@
#include <asm/pgtable.h>
#include <asm/tlbflush.h>

#include "mm.h"

/*
* 0xffff8000 to 0xffffffff is reserved for any ARM architecture
* specific hacks for copying pages efficiently.
*/
#define minicache_pgprot __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | \
L_PTE_CACHEABLE)

#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)

static DEFINE_SPINLOCK(minicache_lock);

/*
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mm/copypage-v6.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@
#include <asm/tlbflush.h>
#include <asm/cacheflush.h>

#include "mm.h"

#if SHMLBA > 16384
#error FIX ME
#endif

#define from_address (0xffff8000)
#define to_address (0xffffc000)

#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)

static DEFINE_SPINLOCK(v6_lock);

/*
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mm/copypage-xscale.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
#include <asm/pgtable.h>
#include <asm/tlbflush.h>

#include "mm.h"

/*
* 0xffff8000 to 0xffffffff is reserved for any ARM architecture
* specific hacks for copying pages efficiently.
Expand All @@ -29,8 +31,6 @@
#define minicache_pgprot __pgprot(L_PTE_PRESENT | L_PTE_YOUNG | \
L_PTE_CACHEABLE)

#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)

static DEFINE_SPINLOCK(minicache_lock);

/*
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mm/flush.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
#include <asm/system.h>
#include <asm/tlbflush.h>

#include "mm.h"

#ifdef CONFIG_CPU_CACHE_VIPT

#define ALIAS_FLUSH_START 0xffff4000

#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)

static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
{
unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
Expand Down
20 changes: 7 additions & 13 deletions arch/arm/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
#include <asm/mach/arch.h>
#include <asm/mach/map.h>

#include "mm.h"

DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);

extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
Expand All @@ -44,6 +46,11 @@ static struct meminfo meminfo __initdata = { 0, };
*/
struct page *empty_zero_page;

/*
* The pmd table for the upper-most set of pages.
*/
pmd_t *top_pmd;

void show_mem(void)
{
int free = 0, total = 0, reserved = 0;
Expand Down Expand Up @@ -83,16 +90,6 @@ void show_mem(void)
printk("%d pages swap cached\n", cached);
}

static inline pmd_t *pmd_off(pgd_t *pgd, unsigned long virt)
{
return pmd_offset(pgd, virt);
}

static inline pmd_t *pmd_off_k(unsigned long virt)
{
return pmd_off(pgd_offset_k(virt), virt);
}

#define for_each_nodebank(iter,mi,no) \
for (iter = 0; iter < mi->nr_banks; iter++) \
if (mi->bank[iter].node == no)
Expand Down Expand Up @@ -229,9 +226,6 @@ static __init void reserve_node_zero(pg_data_t *pgdat)
reserve_bootmem_node(pgdat, PHYS_OFFSET, res_size);
}

void __init build_mem_type_table(void);
void __init create_mapping(struct map_desc *md);

static unsigned long __init
bootmem_init_node(int node, int initrd_node, struct meminfo *mi)
{
Expand Down
14 changes: 2 additions & 12 deletions arch/arm/mm/mm-armv.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

#include <asm/mach/map.h>

#include "mm.h"

#define CPOLICY_UNCACHED 0
#define CPOLICY_BUFFERED 1
#define CPOLICY_WRITETHROUGH 2
Expand All @@ -35,8 +37,6 @@ pgprot_t pgprot_kernel;

EXPORT_SYMBOL(pgprot_kernel);

pmd_t *top_pmd;

struct cachepolicy {
const char policy[16];
unsigned int cr_mask;
Expand Down Expand Up @@ -142,16 +142,6 @@ __setup("noalign", noalign_setup);

#define FIRST_KERNEL_PGD_NR (FIRST_USER_PGD_NR + USER_PTRS_PER_PGD)

static inline pmd_t *pmd_off(pgd_t *pgd, unsigned long virt)
{
return pmd_offset(pgd, virt);
}

static inline pmd_t *pmd_off_k(unsigned long virt)
{
return pmd_off(pgd_offset_k(virt), virt);
}

/*
* need to get a 16k page for level 1
*/
Expand Down
19 changes: 19 additions & 0 deletions arch/arm/mm/mm.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/* the upper-most page table pointer */
extern pmd_t *top_pmd;

#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)

static inline pmd_t *pmd_off(pgd_t *pgd, unsigned long virt)
{
return pmd_offset(pgd, virt);
}

static inline pmd_t *pmd_off_k(unsigned long virt)
{
return pmd_off(pgd_offset_k(virt), virt);
}

struct map_desc;

void __init build_mem_type_table(void);
void __init create_mapping(struct map_desc *md);
3 changes: 0 additions & 3 deletions include/asm-arm/page.h
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,6 @@ typedef unsigned long pgprot_t;

#endif /* STRICT_MM_TYPECHECKS */

/* the upper-most page table pointer */
extern pmd_t *top_pmd;

#endif /* CONFIG_MMU */

#include <asm/memory.h>
Expand Down

0 comments on commit 1b2e2b7

Please sign in to comment.