Merge master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6: (78 commits) [PARISC] Use symbolic last syscall in __NR_Linux_syscalls [PARISC] Add missing statfs64 and fstatfs64 syscalls Revert "[PARISC] Optimize TLB flush on SMP systems" [PARISC] Compat signal fixes for 64-bit parisc [PARISC] Reorder syscalls to match unistd.h Revert "[PATCH] make kernel/signal.c:kill_proc_info() static" [PARISC] fix sys_rt_sigqueueinfo [PARISC] fix section mismatch warnings in harmony sound driver [PARISC] do not export get_register/set_register [PARISC] add ENTRY()/ENDPROC() and simplify assembly of HP/UX emulation code [PARISC] convert to use CONFIG_64BIT instead of __LP64__ [PARISC] use CONFIG_64BIT instead of __LP64__ [PARISC] add ASM_EXCEPTIONTABLE_ENTRY() macro [PARISC] more ENTRY(), ENDPROC(), END() conversions [PARISC] fix ENTRY() and ENDPROC() for 64bit-parisc [PARISC] Fixes /proc/cpuinfo cache output on B160L [PARISC] implement standard ENTRY(), END() and ENDPROC() [PARISC] kill ENTRY_SYS_CPUS [PARISC] clean up debugging printks in smp.c [PARISC] factor syscall_restart code out of do_signal ... Fix conflict in include/linux/sched.h due to kill_proc_info() being made publicly available to PARISC again.
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
* changed by Philipp Rumpf
|
||||
* Copyright 1999 Philipp Rumpf (prumpf@tux.org)
|
||||
* Copyright 2004 Randolph Chung (tausq@debian.org)
|
||||
* Copyright 2006 Helge Deller (deller@gmx.de)
|
||||
* Copyright 2006-2007 Helge Deller (deller@gmx.de)
|
||||
*
|
||||
*/
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
#include <linux/pagemap.h> /* for release_pages and page_cache_release */
|
||||
|
||||
#include <asm/pgalloc.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/tlb.h>
|
||||
#include <asm/pdc_chassis.h>
|
||||
#include <asm/mmzone.h>
|
||||
@ -65,11 +66,11 @@ static struct resource sysram_resources[MAX_PHYSMEM_RANGES] __read_mostly;
|
||||
physmem_range_t pmem_ranges[MAX_PHYSMEM_RANGES] __read_mostly;
|
||||
int npmem_ranges __read_mostly;
|
||||
|
||||
#ifdef __LP64__
|
||||
#ifdef CONFIG_64BIT
|
||||
#define MAX_MEM (~0UL)
|
||||
#else /* !__LP64__ */
|
||||
#else /* !CONFIG_64BIT */
|
||||
#define MAX_MEM (3584U*1024U*1024U)
|
||||
#endif /* !__LP64__ */
|
||||
#endif /* !CONFIG_64BIT */
|
||||
|
||||
static unsigned long mem_limit __read_mostly = MAX_MEM;
|
||||
|
||||
@ -452,6 +453,8 @@ unsigned long pcxl_dma_start __read_mostly;
|
||||
|
||||
void __init mem_init(void)
|
||||
{
|
||||
int codesize, reservedpages, datasize, initsize;
|
||||
|
||||
high_memory = __va((max_pfn << PAGE_SHIFT));
|
||||
|
||||
#ifndef CONFIG_DISCONTIGMEM
|
||||
@ -466,7 +469,32 @@ void __init mem_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
printk(KERN_INFO "Memory: %luk available\n", num_physpages << (PAGE_SHIFT-10));
|
||||
codesize = (unsigned long)_etext - (unsigned long)_text;
|
||||
datasize = (unsigned long)_edata - (unsigned long)_etext;
|
||||
initsize = (unsigned long)__init_end - (unsigned long)__init_begin;
|
||||
|
||||
reservedpages = 0;
|
||||
{
|
||||
unsigned long pfn;
|
||||
#ifdef CONFIG_DISCONTIGMEM
|
||||
int i;
|
||||
|
||||
for (i = 0; i < npmem_ranges; i++) {
|
||||
for (pfn = node_start_pfn(i); pfn < node_end_pfn(i); pfn++) {
|
||||
if (PageReserved(pfn_to_page(pfn)))
|
||||
reservedpages++;
|
||||
}
|
||||
}
|
||||
#else /* !CONFIG_DISCONTIGMEM */
|
||||
for (pfn = 0; pfn < max_pfn; pfn++) {
|
||||
/*
|
||||
* Only count reserved RAM pages
|
||||
*/
|
||||
if (PageReserved(pfn_to_page(pfn)))
|
||||
reservedpages++;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PA11
|
||||
if (hppa_dma_ops == &pcxl_dma_ops) {
|
||||
@ -480,6 +508,38 @@ void __init mem_init(void)
|
||||
vmalloc_start = SET_MAP_OFFSET(MAP_START);
|
||||
#endif
|
||||
|
||||
printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, %dk init)\n",
|
||||
(unsigned long)nr_free_pages() << (PAGE_SHIFT-10),
|
||||
num_physpages << (PAGE_SHIFT-10),
|
||||
codesize >> 10,
|
||||
reservedpages << (PAGE_SHIFT-10),
|
||||
datasize >> 10,
|
||||
initsize >> 10
|
||||
);
|
||||
|
||||
#ifdef CONFIG_DEBUG_KERNEL /* double-sanity-check paranoia */
|
||||
printk("virtual kernel memory layout:\n"
|
||||
" vmalloc : 0x%p - 0x%p (%4ld MB)\n"
|
||||
" memory : 0x%p - 0x%p (%4ld MB)\n"
|
||||
" .init : 0x%p - 0x%p (%4ld kB)\n"
|
||||
" .data : 0x%p - 0x%p (%4ld kB)\n"
|
||||
" .text : 0x%p - 0x%p (%4ld kB)\n",
|
||||
|
||||
(void*)VMALLOC_START, (void*)VMALLOC_END,
|
||||
(VMALLOC_END - VMALLOC_START) >> 20,
|
||||
|
||||
__va(0), high_memory,
|
||||
((unsigned long)high_memory - (unsigned long)__va(0)) >> 20,
|
||||
|
||||
__init_begin, __init_end,
|
||||
((unsigned long)__init_end - (unsigned long)__init_begin) >> 10,
|
||||
|
||||
_etext, _edata,
|
||||
((unsigned long)_edata - (unsigned long)_etext) >> 10,
|
||||
|
||||
_text, _etext,
|
||||
((unsigned long)_etext - (unsigned long)_text) >> 10);
|
||||
#endif
|
||||
}
|
||||
|
||||
unsigned long *empty_zero_page __read_mostly;
|
||||
@ -547,7 +607,7 @@ void show_mem(void)
|
||||
|
||||
printk("Zone list for zone %d on node %d: ", j, i);
|
||||
for (k = 0; zl->zones[k] != NULL; k++)
|
||||
printk("[%d/%s] ", zone_to_nid(zl->zones[k]), zl->zones[k]->name);
|
||||
printk("[%ld/%s] ", zone_to_nid(zl->zones[k]), zl->zones[k]->name);
|
||||
printk("\n");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user