git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git]
/
arch
/
sparc
/
mm
/
init.c
diff --git
a/arch/sparc/mm/init.c
b/arch/sparc/mm/init.c
index
0bcb5c9
..
c85ddf3
100644
(file)
--- a/
arch/sparc/mm/init.c
+++ b/
arch/sparc/mm/init.c
@@
-7,7
+7,6
@@
* Copyright (C) 2000 Anton Blanchard (anton@samba.org)
*/
* Copyright (C) 2000 Anton Blanchard (anton@samba.org)
*/
-#include <linux/config.h>
#include <linux/module.h>
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/module.h>
#include <linux/signal.h>
#include <linux/sched.h>
@@
-25,13
+24,13
@@
#include <linux/bootmem.h>
#include <asm/system.h>
#include <linux/bootmem.h>
#include <asm/system.h>
-#include <asm/segment.h>
#include <asm/vac-ops.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/vaddrs.h>
#include <asm/pgalloc.h> /* bug in asm-generic/tlb.h: check_pgt_cache */
#include <asm/tlb.h>
#include <asm/vac-ops.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/vaddrs.h>
#include <asm/pgalloc.h> /* bug in asm-generic/tlb.h: check_pgt_cache */
#include <asm/tlb.h>
+#include <asm/prom.h>
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
@@
-59,9
+58,6
@@
unsigned long highstart_pfn, highend_pfn;
pte_t *kmap_pte;
pgprot_t kmap_prot;
pte_t *kmap_pte;
pgprot_t kmap_prot;
-EXPORT_SYMBOL(kmap_prot);
-EXPORT_SYMBOL(kmap_pte);
-
#define kmap_get_fixmap_pte(vaddr) \
pte_offset_kernel(pmd_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr))
#define kmap_get_fixmap_pte(vaddr) \
pte_offset_kernel(pmd_offset(pgd_offset_k(vaddr), (vaddr)), (vaddr))
@@
-76,7
+72,7
@@
void show_mem(void)
{
printk("Mem-info:\n");
show_free_areas();
{
printk("Mem-info:\n");
show_free_areas();
- printk("Free swap: %6dkB\n",
+ printk("Free swap: %6
l
dkB\n",
nr_swap_pages << (PAGE_SHIFT-10));
printk("%ld pages of RAM\n", totalram_pages);
printk("%d free pages\n", nr_free_pages());
nr_swap_pages << (PAGE_SHIFT-10));
printk("%ld pages of RAM\n", totalram_pages);
printk("%d free pages\n", nr_free_pages());
@@
-100,7
+96,7
@@
void __init sparc_context_init(int numctx)
clist = (ctx_list_pool + ctx);
clist->ctx_number = ctx;
clist = (ctx_list_pool + ctx);
clist->ctx_number = ctx;
- clist->ctx_mm =
0
;
+ clist->ctx_mm =
NULL
;
}
ctx_free.next = ctx_free.prev = &ctx_free;
ctx_used.next = ctx_used.prev = &ctx_used;
}
ctx_free.next = ctx_free.prev = &ctx_free;
ctx_used.next = ctx_used.prev = &ctx_used;
@@
-353,6
+349,7
@@
void __init paging_init(void)
protection_map[14] = PAGE_SHARED;
protection_map[15] = PAGE_SHARED;
btfixup();
protection_map[14] = PAGE_SHARED;
protection_map[15] = PAGE_SHARED;
btfixup();
+ prom_build_devicetree();
device_scan();
}
device_scan();
}
@@
-387,8
+384,7
@@
void map_high_region(unsigned long start_pfn, unsigned long end_pfn)
struct page *page = pfn_to_page(tmp);
ClearPageReserved(page);
struct page *page = pfn_to_page(tmp);
ClearPageReserved(page);
- set_bit(PG_highmem, &page->flags);
- atomic_set(&page->count, 1);
+ init_page_count(page);
__free_page(page);
totalhigh_pages++;
}
__free_page(page);
totalhigh_pages++;
}
@@
-402,8
+398,6
@@
void __init mem_init(void)
int reservedpages = 0;
int i;
int reservedpages = 0;
int i;
- highmem_start_page = pfn_to_page(highstart_pfn);
-
if (PKMAP_BASE+LAST_PKMAP*PAGE_SIZE >= FIXADDR_START) {
prom_printf("BUG: fixmap and pkmap areas overlap\n");
prom_printf("pkbase: 0x%lx pkend: 0x%lx fixstart 0x%lx\n",
if (PKMAP_BASE+LAST_PKMAP*PAGE_SIZE >= FIXADDR_START) {
prom_printf("BUG: fixmap and pkmap areas overlap\n");
prom_printf("pkbase: 0x%lx pkend: 0x%lx fixstart 0x%lx\n",
@@
-487,7
+481,7
@@
void free_initmem (void)
p = virt_to_page(addr);
ClearPageReserved(p);
p = virt_to_page(addr);
ClearPageReserved(p);
-
set_page_count(p, 1
);
+
init_page_count(p
);
__free_page(p);
totalram_pages++;
num_physpages++;
__free_page(p);
totalram_pages++;
num_physpages++;
@@
-504,7
+498,7
@@
void free_initrd_mem(unsigned long start, unsigned long end)
struct page *p = virt_to_page(start);
ClearPageReserved(p);
struct page *p = virt_to_page(start);
ClearPageReserved(p);
-
set_page_count(p, 1
);
+
init_page_count(p
);
__free_page(p);
num_physpages++;
}
__free_page(p);
num_physpages++;
}