diff options
author | Nathan Scott <nathans@bruce> | 2006-01-11 21:34:47 -0500 |
---|---|---|
committer | Nathan Scott <nathans@bruce> | 2006-01-11 21:34:47 -0500 |
commit | ddae9c2ea79449beb00027cf77fca6dc489f2d15 (patch) | |
tree | 047c2d7c8d6cbb0721f017514e1d83a20e278d43 /arch/parisc/mm/init.c | |
parent | 0d1335b3106687d87fcfa0e4d90f2a961bd7e1db (diff) | |
parent | a4fc7ab1d065a9dd89ed0e74439ef87d4a16e980 (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.c | 29 |
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 */ | |||
36 | extern char __init_begin, __init_end; | 36 | extern char __init_begin, __init_end; |
37 | 37 | ||
38 | #ifdef CONFIG_DISCONTIGMEM | 38 | #ifdef CONFIG_DISCONTIGMEM |
39 | struct node_map_data node_data[MAX_NUMNODES]; | 39 | struct node_map_data node_data[MAX_NUMNODES] __read_mostly; |
40 | bootmem_data_t bmem_data[MAX_NUMNODES]; | 40 | bootmem_data_t bmem_data[MAX_NUMNODES] __read_mostly; |
41 | unsigned char pfnnid_map[PFNNID_MAP_MAX]; | 41 | unsigned char pfnnid_map[PFNNID_MAP_MAX] __read_mostly; |
42 | #endif | 42 | #endif |
43 | 43 | ||
44 | static struct resource data_resource = { | 44 | static 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 | ||
61 | static struct resource sysram_resources[MAX_PHYSMEM_RANGES]; | 61 | static 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 | ||
67 | physmem_range_t pmem_ranges[MAX_PHYSMEM_RANGES]; | 67 | physmem_range_t pmem_ranges[MAX_PHYSMEM_RANGES] __read_mostly; |
68 | int npmem_ranges; | 68 | int 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 | ||
76 | static unsigned long mem_limit = MAX_MEM; | 76 | static unsigned long mem_limit __read_mostly = MAX_MEM; |
77 | 77 | ||
78 | static void __init mem_limit_func(void) | 78 | static 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 | ||
434 | void *vmalloc_start; | 441 | void *vmalloc_start __read_mostly; |
435 | EXPORT_SYMBOL(vmalloc_start); | 442 | EXPORT_SYMBOL(vmalloc_start); |
436 | 443 | ||
437 | #ifdef CONFIG_PA11 | 444 | #ifdef CONFIG_PA11 |
438 | unsigned long pcxl_dma_start; | 445 | unsigned long pcxl_dma_start __read_mostly; |
439 | #endif | 446 | #endif |
440 | 447 | ||
441 | void __init mem_init(void) | 448 | void __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 | ||
478 | unsigned long *empty_zero_page; | 485 | unsigned long *empty_zero_page __read_mostly; |
479 | 486 | ||
480 | void show_mem(void) | 487 | void show_mem(void) |
481 | { | 488 | { |
@@ -998,7 +1005,7 @@ void flush_tlb_all(void) | |||
998 | void flush_tlb_all(void) | 1005 | void 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 | } |