aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/mm/init.c
diff options
context:
space:
mode:
authorNathan Scott <nathans@bruce>2006-01-11 21:34:47 -0500
committerNathan Scott <nathans@bruce>2006-01-11 21:34:47 -0500
commitddae9c2ea79449beb00027cf77fca6dc489f2d15 (patch)
tree047c2d7c8d6cbb0721f017514e1d83a20e278d43 /arch/parisc/mm/init.c
parent0d1335b3106687d87fcfa0e4d90f2a961bd7e1db (diff)
parenta4fc7ab1d065a9dd89ed0e74439ef87d4a16e980 (diff)
Merge HEAD from oss.sgi.com:/oss/git/linux-2.6.git
Diffstat (limited to 'arch/parisc/mm/init.c')
-rw-r--r--arch/parisc/mm/init.c29
1 files changed, 18 insertions, 11 deletions
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index 29b998e430e6..720287d46e55 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -36,9 +36,9 @@ extern char _end; /* end of BSS, defined by linker */
36extern char __init_begin, __init_end; 36extern char __init_begin, __init_end;
37 37
38#ifdef CONFIG_DISCONTIGMEM 38#ifdef CONFIG_DISCONTIGMEM
39struct node_map_data node_data[MAX_NUMNODES]; 39struct node_map_data node_data[MAX_NUMNODES] __read_mostly;
40bootmem_data_t bmem_data[MAX_NUMNODES]; 40bootmem_data_t bmem_data[MAX_NUMNODES] __read_mostly;
41unsigned char pfnnid_map[PFNNID_MAP_MAX]; 41unsigned char pfnnid_map[PFNNID_MAP_MAX] __read_mostly;
42#endif 42#endif
43 43
44static struct resource data_resource = { 44static struct resource data_resource = {
@@ -58,14 +58,14 @@ static struct resource pdcdata_resource = {
58 .flags = IORESOURCE_BUSY | IORESOURCE_MEM, 58 .flags = IORESOURCE_BUSY | IORESOURCE_MEM,
59}; 59};
60 60
61static struct resource sysram_resources[MAX_PHYSMEM_RANGES]; 61static struct resource sysram_resources[MAX_PHYSMEM_RANGES] __read_mostly;
62 62
63/* The following array is initialized from the firmware specific 63/* The following array is initialized from the firmware specific
64 * information retrieved in kernel/inventory.c. 64 * information retrieved in kernel/inventory.c.
65 */ 65 */
66 66
67physmem_range_t pmem_ranges[MAX_PHYSMEM_RANGES]; 67physmem_range_t pmem_ranges[MAX_PHYSMEM_RANGES] __read_mostly;
68int npmem_ranges; 68int npmem_ranges __read_mostly;
69 69
70#ifdef __LP64__ 70#ifdef __LP64__
71#define MAX_MEM (~0UL) 71#define MAX_MEM (~0UL)
@@ -73,7 +73,7 @@ int npmem_ranges;
73#define MAX_MEM (3584U*1024U*1024U) 73#define MAX_MEM (3584U*1024U*1024U)
74#endif /* !__LP64__ */ 74#endif /* !__LP64__ */
75 75
76static unsigned long mem_limit = MAX_MEM; 76static unsigned long mem_limit __read_mostly = MAX_MEM;
77 77
78static void __init mem_limit_func(void) 78static void __init mem_limit_func(void)
79{ 79{
@@ -300,6 +300,13 @@ static void __init setup_bootmem(void)
300 max_pfn = start_pfn + npages; 300 max_pfn = start_pfn + npages;
301 } 301 }
302 302
303 /* IOMMU is always used to access "high mem" on those boxes
304 * that can support enough mem that a PCI device couldn't
305 * directly DMA to any physical addresses.
306 * ISA DMA support will need to revisit this.
307 */
308 max_low_pfn = max_pfn;
309
303 if ((bootmap_pfn - bootmap_start_pfn) != bootmap_pages) { 310 if ((bootmap_pfn - bootmap_start_pfn) != bootmap_pages) {
304 printk(KERN_WARNING "WARNING! bootmap sizing is messed up!\n"); 311 printk(KERN_WARNING "WARNING! bootmap sizing is messed up!\n");
305 BUG(); 312 BUG();
@@ -431,11 +438,11 @@ void free_initmem(void)
431#define SET_MAP_OFFSET(x) ((void *)(((unsigned long)(x) + VM_MAP_OFFSET) \ 438#define SET_MAP_OFFSET(x) ((void *)(((unsigned long)(x) + VM_MAP_OFFSET) \
432 & ~(VM_MAP_OFFSET-1))) 439 & ~(VM_MAP_OFFSET-1)))
433 440
434void *vmalloc_start; 441void *vmalloc_start __read_mostly;
435EXPORT_SYMBOL(vmalloc_start); 442EXPORT_SYMBOL(vmalloc_start);
436 443
437#ifdef CONFIG_PA11 444#ifdef CONFIG_PA11
438unsigned long pcxl_dma_start; 445unsigned long pcxl_dma_start __read_mostly;
439#endif 446#endif
440 447
441void __init mem_init(void) 448void __init mem_init(void)
@@ -475,7 +482,7 @@ int do_check_pgt_cache(int low, int high)
475 return 0; 482 return 0;
476} 483}
477 484
478unsigned long *empty_zero_page; 485unsigned long *empty_zero_page __read_mostly;
479 486
480void show_mem(void) 487void show_mem(void)
481{ 488{
@@ -998,7 +1005,7 @@ void flush_tlb_all(void)
998void flush_tlb_all(void) 1005void flush_tlb_all(void)
999{ 1006{
1000 spin_lock(&sid_lock); 1007 spin_lock(&sid_lock);
1001 flush_tlb_all_local(); 1008 flush_tlb_all_local(NULL);
1002 recycle_sids(); 1009 recycle_sids();
1003 spin_unlock(&sid_lock); 1010 spin_unlock(&sid_lock);
1004} 1011}