diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 20:12:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-07-03 20:12:13 -0400 |
commit | 7f0ef0267e20d62d45d527911a993b1e998f4968 (patch) | |
tree | de51abc7da5903f59d83e23937f22420164c9477 /arch/frv | |
parent | 862f0012549110d6f2586bf54b52ed4540cbff3a (diff) | |
parent | 9307c29524502c21f0e8a6d96d850b2f5bc0bd9a (diff) |
Merge branch 'akpm' (updates from Andrew Morton)
Merge first patch-bomb from Andrew Morton:
- various misc bits
- I'm been patchmonkeying ocfs2 for a while, as Joel and Mark have been
distracted. There has been quite a bit of activity.
- About half the MM queue
- Some backlight bits
- Various lib/ updates
- checkpatch updates
- zillions more little rtc patches
- ptrace
- signals
- exec
- procfs
- rapidio
- nbd
- aoe
- pps
- memstick
- tools/testing/selftests updates
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (445 commits)
tools/testing/selftests: don't assume the x bit is set on scripts
selftests: add .gitignore for kcmp
selftests: fix clean target in kcmp Makefile
selftests: add .gitignore for vm
selftests: add hugetlbfstest
self-test: fix make clean
selftests: exit 1 on failure
kernel/resource.c: remove the unneeded assignment in function __find_resource
aio: fix wrong comment in aio_complete()
drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode
drivers/memstick/host/r592.c: convert to module_pci_driver
drivers/memstick/host/jmb38x_ms: convert to module_pci_driver
pps-gpio: add device-tree binding and support
drivers/pps/clients/pps-gpio.c: convert to module_platform_driver
drivers/pps/clients/pps-gpio.c: convert to devm_* helpers
drivers/parport/share.c: use kzalloc
Documentation/accounting/getdelays.c: avoid strncpy in accounting tool
aoe: update internal version number to v83
aoe: update copyright date
aoe: perform I/O completions in parallel
...
Diffstat (limited to 'arch/frv')
-rw-r--r-- | arch/frv/kernel/setup.c | 15 | ||||
-rw-r--r-- | arch/frv/kernel/traps.c | 2 | ||||
-rw-r--r-- | arch/frv/mm/init.c | 57 |
3 files changed, 27 insertions, 47 deletions
diff --git a/arch/frv/kernel/setup.c b/arch/frv/kernel/setup.c index a5136474c6fd..ae3a6706419b 100644 --- a/arch/frv/kernel/setup.c +++ b/arch/frv/kernel/setup.c | |||
@@ -735,7 +735,7 @@ static void __init parse_cmdline_early(char *cmdline) | |||
735 | /* "mem=XXX[kKmM]" sets SDRAM size to <mem>, overriding the value we worked | 735 | /* "mem=XXX[kKmM]" sets SDRAM size to <mem>, overriding the value we worked |
736 | * out from the SDRAM controller mask register | 736 | * out from the SDRAM controller mask register |
737 | */ | 737 | */ |
738 | if (!memcmp(cmdline, "mem=", 4)) { | 738 | if (!strncmp(cmdline, "mem=", 4)) { |
739 | unsigned long long mem_size; | 739 | unsigned long long mem_size; |
740 | 740 | ||
741 | mem_size = memparse(cmdline + 4, &cmdline); | 741 | mem_size = memparse(cmdline + 4, &cmdline); |
@@ -876,6 +876,7 @@ late_initcall(setup_arch_serial); | |||
876 | static void __init setup_linux_memory(void) | 876 | static void __init setup_linux_memory(void) |
877 | { | 877 | { |
878 | unsigned long bootmap_size, low_top_pfn, kstart, kend, high_mem; | 878 | unsigned long bootmap_size, low_top_pfn, kstart, kend, high_mem; |
879 | unsigned long physpages; | ||
879 | 880 | ||
880 | kstart = (unsigned long) &__kernel_image_start - PAGE_OFFSET; | 881 | kstart = (unsigned long) &__kernel_image_start - PAGE_OFFSET; |
881 | kend = (unsigned long) &__kernel_image_end - PAGE_OFFSET; | 882 | kend = (unsigned long) &__kernel_image_end - PAGE_OFFSET; |
@@ -893,19 +894,19 @@ static void __init setup_linux_memory(void) | |||
893 | ); | 894 | ); |
894 | 895 | ||
895 | /* pass the memory that the kernel can immediately use over to the bootmem allocator */ | 896 | /* pass the memory that the kernel can immediately use over to the bootmem allocator */ |
896 | max_mapnr = num_physpages = (memory_end - memory_start) >> PAGE_SHIFT; | 897 | max_mapnr = physpages = (memory_end - memory_start) >> PAGE_SHIFT; |
897 | low_top_pfn = (KERNEL_LOWMEM_END - KERNEL_LOWMEM_START) >> PAGE_SHIFT; | 898 | low_top_pfn = (KERNEL_LOWMEM_END - KERNEL_LOWMEM_START) >> PAGE_SHIFT; |
898 | high_mem = 0; | 899 | high_mem = 0; |
899 | 900 | ||
900 | if (num_physpages > low_top_pfn) { | 901 | if (physpages > low_top_pfn) { |
901 | #ifdef CONFIG_HIGHMEM | 902 | #ifdef CONFIG_HIGHMEM |
902 | high_mem = num_physpages - low_top_pfn; | 903 | high_mem = physpages - low_top_pfn; |
903 | #else | 904 | #else |
904 | max_mapnr = num_physpages = low_top_pfn; | 905 | max_mapnr = physpages = low_top_pfn; |
905 | #endif | 906 | #endif |
906 | } | 907 | } |
907 | else { | 908 | else { |
908 | low_top_pfn = num_physpages; | 909 | low_top_pfn = physpages; |
909 | } | 910 | } |
910 | 911 | ||
911 | min_low_pfn = memory_start >> PAGE_SHIFT; | 912 | min_low_pfn = memory_start >> PAGE_SHIFT; |
@@ -979,7 +980,7 @@ static void __init setup_uclinux_memory(void) | |||
979 | free_bootmem(memory_start, memory_end - memory_start); | 980 | free_bootmem(memory_start, memory_end - memory_start); |
980 | 981 | ||
981 | high_memory = (void *) (memory_end & PAGE_MASK); | 982 | high_memory = (void *) (memory_end & PAGE_MASK); |
982 | max_mapnr = num_physpages = ((unsigned long) high_memory - PAGE_OFFSET) >> PAGE_SHIFT; | 983 | max_mapnr = ((unsigned long) high_memory - PAGE_OFFSET) >> PAGE_SHIFT; |
983 | 984 | ||
984 | min_low_pfn = memory_start >> PAGE_SHIFT; | 985 | min_low_pfn = memory_start >> PAGE_SHIFT; |
985 | max_low_pfn = memory_end >> PAGE_SHIFT; | 986 | max_low_pfn = memory_end >> PAGE_SHIFT; |
diff --git a/arch/frv/kernel/traps.c b/arch/frv/kernel/traps.c index 4bff48c19d29..a6d105d61b26 100644 --- a/arch/frv/kernel/traps.c +++ b/arch/frv/kernel/traps.c | |||
@@ -523,7 +523,7 @@ void die_if_kernel(const char *str, ...) | |||
523 | return; | 523 | return; |
524 | 524 | ||
525 | va_start(va, str); | 525 | va_start(va, str); |
526 | vsprintf(buffer, str, va); | 526 | vsnprintf(buffer, sizeof(buffer), str, va); |
527 | va_end(va); | 527 | va_end(va); |
528 | 528 | ||
529 | console_verbose(); | 529 | console_verbose(); |
diff --git a/arch/frv/mm/init.c b/arch/frv/mm/init.c index dee354fa6b64..88a159743528 100644 --- a/arch/frv/mm/init.c +++ b/arch/frv/mm/init.c | |||
@@ -78,7 +78,7 @@ void __init paging_init(void) | |||
78 | memset((void *) empty_zero_page, 0, PAGE_SIZE); | 78 | memset((void *) empty_zero_page, 0, PAGE_SIZE); |
79 | 79 | ||
80 | #ifdef CONFIG_HIGHMEM | 80 | #ifdef CONFIG_HIGHMEM |
81 | if (num_physpages - num_mappedpages) { | 81 | if (get_num_physpages() - num_mappedpages) { |
82 | pgd_t *pge; | 82 | pgd_t *pge; |
83 | pud_t *pue; | 83 | pud_t *pue; |
84 | pmd_t *pme; | 84 | pmd_t *pme; |
@@ -96,7 +96,7 @@ void __init paging_init(void) | |||
96 | */ | 96 | */ |
97 | zones_size[ZONE_NORMAL] = max_low_pfn - min_low_pfn; | 97 | zones_size[ZONE_NORMAL] = max_low_pfn - min_low_pfn; |
98 | #ifdef CONFIG_HIGHMEM | 98 | #ifdef CONFIG_HIGHMEM |
99 | zones_size[ZONE_HIGHMEM] = num_physpages - num_mappedpages; | 99 | zones_size[ZONE_HIGHMEM] = get_num_physpages() - num_mappedpages; |
100 | #endif | 100 | #endif |
101 | 101 | ||
102 | free_area_init(zones_size); | 102 | free_area_init(zones_size); |
@@ -114,45 +114,24 @@ void __init paging_init(void) | |||
114 | */ | 114 | */ |
115 | void __init mem_init(void) | 115 | void __init mem_init(void) |
116 | { | 116 | { |
117 | unsigned long npages = (memory_end - memory_start) >> PAGE_SHIFT; | 117 | unsigned long code_size = _etext - _stext; |
118 | unsigned long tmp; | ||
119 | #ifdef CONFIG_MMU | ||
120 | unsigned long loop, pfn; | ||
121 | int datapages = 0; | ||
122 | #endif | ||
123 | int codek = 0, datak = 0; | ||
124 | 118 | ||
125 | /* this will put all low memory onto the freelists */ | 119 | /* this will put all low memory onto the freelists */ |
126 | totalram_pages = free_all_bootmem(); | 120 | free_all_bootmem(); |
127 | 121 | #if defined(CONFIG_MMU) && defined(CONFIG_HIGHMEM) | |
128 | #ifdef CONFIG_MMU | 122 | { |
129 | for (loop = 0 ; loop < npages ; loop++) | 123 | unsigned long pfn; |
130 | if (PageReserved(&mem_map[loop])) | 124 | |
131 | datapages++; | 125 | for (pfn = get_num_physpages() - 1; |
132 | 126 | pfn >= num_mappedpages; pfn--) | |
133 | #ifdef CONFIG_HIGHMEM | 127 | free_highmem_page(&mem_map[pfn]); |
134 | for (pfn = num_physpages - 1; pfn >= num_mappedpages; pfn--) | 128 | } |
135 | free_highmem_page(&mem_map[pfn]); | ||
136 | #endif | ||
137 | |||
138 | codek = ((unsigned long) &_etext - (unsigned long) &_stext) >> 10; | ||
139 | datak = datapages << (PAGE_SHIFT - 10); | ||
140 | |||
141 | #else | ||
142 | codek = (_etext - _stext) >> 10; | ||
143 | datak = 0; //(__bss_stop - _sdata) >> 10; | ||
144 | #endif | 129 | #endif |
145 | 130 | ||
146 | tmp = nr_free_pages() << PAGE_SHIFT; | 131 | mem_init_print_info(NULL); |
147 | printk("Memory available: %luKiB/%luKiB RAM, %luKiB/%luKiB ROM (%dKiB kernel code, %dKiB data)\n", | 132 | if (rom_length > 0 && rom_length >= code_size) |
148 | tmp >> 10, | 133 | printk("Memory available: %luKiB/%luKiB ROM\n", |
149 | npages << (PAGE_SHIFT - 10), | 134 | (rom_length - code_size) >> 10, rom_length >> 10); |
150 | (rom_length > 0) ? ((rom_length >> 10) - codek) : 0, | ||
151 | rom_length >> 10, | ||
152 | codek, | ||
153 | datak | ||
154 | ); | ||
155 | |||
156 | } /* end mem_init() */ | 135 | } /* end mem_init() */ |
157 | 136 | ||
158 | /*****************************************************************************/ | 137 | /*****************************************************************************/ |
@@ -162,7 +141,7 @@ void __init mem_init(void) | |||
162 | void free_initmem(void) | 141 | void free_initmem(void) |
163 | { | 142 | { |
164 | #if defined(CONFIG_RAMKERNEL) && !defined(CONFIG_PROTECT_KERNEL) | 143 | #if defined(CONFIG_RAMKERNEL) && !defined(CONFIG_PROTECT_KERNEL) |
165 | free_initmem_default(0); | 144 | free_initmem_default(-1); |
166 | #endif | 145 | #endif |
167 | } /* end free_initmem() */ | 146 | } /* end free_initmem() */ |
168 | 147 | ||
@@ -173,6 +152,6 @@ void free_initmem(void) | |||
173 | #ifdef CONFIG_BLK_DEV_INITRD | 152 | #ifdef CONFIG_BLK_DEV_INITRD |
174 | void __init free_initrd_mem(unsigned long start, unsigned long end) | 153 | void __init free_initrd_mem(unsigned long start, unsigned long end) |
175 | { | 154 | { |
176 | free_reserved_area(start, end, 0, "initrd"); | 155 | free_reserved_area((void *)start, (void *)end, -1, "initrd"); |
177 | } /* end free_initrd_mem() */ | 156 | } /* end free_initrd_mem() */ |
178 | #endif | 157 | #endif |