diff options
Diffstat (limited to 'arch/sh/mm')
-rw-r--r-- | arch/sh/mm/hugetlbpage.c | 8 | ||||
-rw-r--r-- | arch/sh/mm/init.c | 43 | ||||
-rw-r--r-- | arch/sh/mm/numa.c | 5 | ||||
-rw-r--r-- | arch/sh/mm/pmb.c | 2 |
4 files changed, 11 insertions, 47 deletions
diff --git a/arch/sh/mm/hugetlbpage.c b/arch/sh/mm/hugetlbpage.c index ae8c321d6e2a..9304117039c4 100644 --- a/arch/sh/mm/hugetlbpage.c +++ b/arch/sh/mm/hugetlbpage.c | |||
@@ -22,7 +22,8 @@ | |||
22 | #include <asm/tlbflush.h> | 22 | #include <asm/tlbflush.h> |
23 | #include <asm/cacheflush.h> | 23 | #include <asm/cacheflush.h> |
24 | 24 | ||
25 | pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr) | 25 | pte_t *huge_pte_alloc(struct mm_struct *mm, |
26 | unsigned long addr, unsigned long sz) | ||
26 | { | 27 | { |
27 | pgd_t *pgd; | 28 | pgd_t *pgd; |
28 | pud_t *pud; | 29 | pud_t *pud; |
@@ -78,6 +79,11 @@ int pmd_huge(pmd_t pmd) | |||
78 | return 0; | 79 | return 0; |
79 | } | 80 | } |
80 | 81 | ||
82 | int pud_huge(pud_t pud) | ||
83 | { | ||
84 | return 0; | ||
85 | } | ||
86 | |||
81 | struct page *follow_huge_pmd(struct mm_struct *mm, unsigned long address, | 87 | struct page *follow_huge_pmd(struct mm_struct *mm, unsigned long address, |
82 | pmd_t *pmd, int write) | 88 | pmd_t *pmd, int write) |
83 | { | 89 | { |
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index d7df26bd1e54..b75a7acd62fb 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
@@ -25,47 +25,6 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | |||
25 | pgd_t swapper_pg_dir[PTRS_PER_PGD]; | 25 | pgd_t swapper_pg_dir[PTRS_PER_PGD]; |
26 | unsigned long cached_to_uncached = 0; | 26 | unsigned long cached_to_uncached = 0; |
27 | 27 | ||
28 | void show_mem(void) | ||
29 | { | ||
30 | int total = 0, reserved = 0, free = 0; | ||
31 | int shared = 0, cached = 0, slab = 0; | ||
32 | pg_data_t *pgdat; | ||
33 | |||
34 | printk("Mem-info:\n"); | ||
35 | show_free_areas(); | ||
36 | |||
37 | for_each_online_pgdat(pgdat) { | ||
38 | unsigned long flags, i; | ||
39 | |||
40 | pgdat_resize_lock(pgdat, &flags); | ||
41 | for (i = 0; i < pgdat->node_spanned_pages; i++) { | ||
42 | struct page *page = pgdat_page_nr(pgdat, i); | ||
43 | total++; | ||
44 | if (PageReserved(page)) | ||
45 | reserved++; | ||
46 | else if (PageSwapCache(page)) | ||
47 | cached++; | ||
48 | else if (PageSlab(page)) | ||
49 | slab++; | ||
50 | else if (!page_count(page)) | ||
51 | free++; | ||
52 | else | ||
53 | shared += page_count(page) - 1; | ||
54 | } | ||
55 | pgdat_resize_unlock(pgdat, &flags); | ||
56 | } | ||
57 | |||
58 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | ||
59 | printk("%d pages of RAM\n", total); | ||
60 | printk("%d free pages\n", free); | ||
61 | printk("%d reserved pages\n", reserved); | ||
62 | printk("%d slab pages\n", slab); | ||
63 | printk("%d pages shared\n", shared); | ||
64 | printk("%d pages swap cached\n", cached); | ||
65 | printk(KERN_INFO "Total of %ld pages in page table cache\n", | ||
66 | quicklist_total_size()); | ||
67 | } | ||
68 | |||
69 | #ifdef CONFIG_MMU | 28 | #ifdef CONFIG_MMU |
70 | static void set_pte_phys(unsigned long addr, unsigned long phys, pgprot_t prot) | 29 | static void set_pte_phys(unsigned long addr, unsigned long phys, pgprot_t prot) |
71 | { | 30 | { |
@@ -191,7 +150,7 @@ void __init paging_init(void) | |||
191 | pg_data_t *pgdat = NODE_DATA(nid); | 150 | pg_data_t *pgdat = NODE_DATA(nid); |
192 | unsigned long low, start_pfn; | 151 | unsigned long low, start_pfn; |
193 | 152 | ||
194 | start_pfn = pgdat->bdata->node_boot_start >> PAGE_SHIFT; | 153 | start_pfn = pgdat->bdata->node_min_pfn; |
195 | low = pgdat->bdata->node_low_pfn; | 154 | low = pgdat->bdata->node_low_pfn; |
196 | 155 | ||
197 | if (max_zone_pfns[ZONE_NORMAL] < low) | 156 | if (max_zone_pfns[ZONE_NORMAL] < low) |
diff --git a/arch/sh/mm/numa.c b/arch/sh/mm/numa.c index 1663199ce888..095d93bec7cd 100644 --- a/arch/sh/mm/numa.c +++ b/arch/sh/mm/numa.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/pfn.h> | 14 | #include <linux/pfn.h> |
15 | #include <asm/sections.h> | 15 | #include <asm/sections.h> |
16 | 16 | ||
17 | static bootmem_data_t plat_node_bdata[MAX_NUMNODES]; | ||
18 | struct pglist_data *node_data[MAX_NUMNODES] __read_mostly; | 17 | struct pglist_data *node_data[MAX_NUMNODES] __read_mostly; |
19 | EXPORT_SYMBOL_GPL(node_data); | 18 | EXPORT_SYMBOL_GPL(node_data); |
20 | 19 | ||
@@ -35,7 +34,7 @@ void __init setup_memory(void) | |||
35 | NODE_DATA(0) = pfn_to_kaddr(free_pfn); | 34 | NODE_DATA(0) = pfn_to_kaddr(free_pfn); |
36 | memset(NODE_DATA(0), 0, sizeof(struct pglist_data)); | 35 | memset(NODE_DATA(0), 0, sizeof(struct pglist_data)); |
37 | free_pfn += PFN_UP(sizeof(struct pglist_data)); | 36 | free_pfn += PFN_UP(sizeof(struct pglist_data)); |
38 | NODE_DATA(0)->bdata = &plat_node_bdata[0]; | 37 | NODE_DATA(0)->bdata = &bootmem_node_data[0]; |
39 | 38 | ||
40 | /* Set up node 0 */ | 39 | /* Set up node 0 */ |
41 | setup_bootmem_allocator(free_pfn); | 40 | setup_bootmem_allocator(free_pfn); |
@@ -66,7 +65,7 @@ void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end) | |||
66 | free_pfn += PFN_UP(sizeof(struct pglist_data)); | 65 | free_pfn += PFN_UP(sizeof(struct pglist_data)); |
67 | memset(NODE_DATA(nid), 0, sizeof(struct pglist_data)); | 66 | memset(NODE_DATA(nid), 0, sizeof(struct pglist_data)); |
68 | 67 | ||
69 | NODE_DATA(nid)->bdata = &plat_node_bdata[nid]; | 68 | NODE_DATA(nid)->bdata = &bootmem_node_data[nid]; |
70 | NODE_DATA(nid)->node_start_pfn = start_pfn; | 69 | NODE_DATA(nid)->node_start_pfn = start_pfn; |
71 | NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; | 70 | NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn; |
72 | 71 | ||
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index 0b0ec6e04753..46911bcbf17b 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c | |||
@@ -293,7 +293,7 @@ void pmb_unmap(unsigned long addr) | |||
293 | } while (pmbe); | 293 | } while (pmbe); |
294 | } | 294 | } |
295 | 295 | ||
296 | static void pmb_cache_ctor(struct kmem_cache *cachep, void *pmb) | 296 | static void pmb_cache_ctor(void *pmb) |
297 | { | 297 | { |
298 | struct pmb_entry *pmbe = pmb; | 298 | struct pmb_entry *pmbe = pmb; |
299 | 299 | ||