aboutsummaryrefslogtreecommitdiffstats
path: root/arch/avr32
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 20:12:13 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 20:12:13 -0400
commit7f0ef0267e20d62d45d527911a993b1e998f4968 (patch)
treede51abc7da5903f59d83e23937f22420164c9477 /arch/avr32
parent862f0012549110d6f2586bf54b52ed4540cbff3a (diff)
parent9307c29524502c21f0e8a6d96d850b2f5bc0bd9a (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/avr32')
-rw-r--r--arch/avr32/kernel/setup.c2
-rw-r--r--arch/avr32/kernel/vmlinux.lds.S4
-rw-r--r--arch/avr32/mm/init.c52
3 files changed, 12 insertions, 46 deletions
diff --git a/arch/avr32/kernel/setup.c b/arch/avr32/kernel/setup.c
index b4247f478065..209ae5ad3495 100644
--- a/arch/avr32/kernel/setup.c
+++ b/arch/avr32/kernel/setup.c
@@ -555,7 +555,7 @@ void __init setup_arch (char **cmdline_p)
555{ 555{
556 struct clk *cpu_clk; 556 struct clk *cpu_clk;
557 557
558 init_mm.start_code = (unsigned long)_text; 558 init_mm.start_code = (unsigned long)_stext;
559 init_mm.end_code = (unsigned long)_etext; 559 init_mm.end_code = (unsigned long)_etext;
560 init_mm.end_data = (unsigned long)_edata; 560 init_mm.end_data = (unsigned long)_edata;
561 init_mm.brk = (unsigned long)_end; 561 init_mm.brk = (unsigned long)_end;
diff --git a/arch/avr32/kernel/vmlinux.lds.S b/arch/avr32/kernel/vmlinux.lds.S
index 9cd2bd91d64a..a4589176bed5 100644
--- a/arch/avr32/kernel/vmlinux.lds.S
+++ b/arch/avr32/kernel/vmlinux.lds.S
@@ -23,7 +23,7 @@ SECTIONS
23{ 23{
24 . = CONFIG_ENTRY_ADDRESS; 24 . = CONFIG_ENTRY_ADDRESS;
25 .init : AT(ADDR(.init) - LOAD_OFFSET) { 25 .init : AT(ADDR(.init) - LOAD_OFFSET) {
26 _stext = .; 26 _text = .;
27 __init_begin = .; 27 __init_begin = .;
28 _sinittext = .; 28 _sinittext = .;
29 *(.text.reset) 29 *(.text.reset)
@@ -46,7 +46,7 @@ SECTIONS
46 46
47 .text : AT(ADDR(.text) - LOAD_OFFSET) { 47 .text : AT(ADDR(.text) - LOAD_OFFSET) {
48 _evba = .; 48 _evba = .;
49 _text = .; 49 _stext = .;
50 *(.ex.text) 50 *(.ex.text)
51 *(.irq.text) 51 *(.irq.text)
52 KPROBES_TEXT 52 KPROBES_TEXT
diff --git a/arch/avr32/mm/init.c b/arch/avr32/mm/init.c
index e66e8406f992..def5391d927a 100644
--- a/arch/avr32/mm/init.c
+++ b/arch/avr32/mm/init.c
@@ -100,60 +100,26 @@ void __init paging_init(void)
100 100
101void __init mem_init(void) 101void __init mem_init(void)
102{ 102{
103 int codesize, reservedpages, datasize, initsize; 103 pg_data_t *pgdat;
104 int nid, i;
105 104
106 reservedpages = 0;
107 high_memory = NULL; 105 high_memory = NULL;
106 for_each_online_pgdat(pgdat)
107 high_memory = max_t(void *, high_memory,
108 __va(pgdat_end_pfn(pgdat) << PAGE_SHIFT));
108 109
109 /* this will put all low memory onto the freelists */ 110 set_max_mapnr(MAP_NR(high_memory));
110 for_each_online_node(nid) { 111 free_all_bootmem();
111 pg_data_t *pgdat = NODE_DATA(nid); 112 mem_init_print_info(NULL);
112 unsigned long node_pages = 0;
113 void *node_high_memory;
114
115 num_physpages += pgdat->node_present_pages;
116
117 if (pgdat->node_spanned_pages != 0)
118 node_pages = free_all_bootmem_node(pgdat);
119
120 totalram_pages += node_pages;
121
122 for (i = 0; i < node_pages; i++)
123 if (PageReserved(pgdat->node_mem_map + i))
124 reservedpages++;
125
126 node_high_memory = (void *)((pgdat->node_start_pfn
127 + pgdat->node_spanned_pages)
128 << PAGE_SHIFT);
129 if (node_high_memory > high_memory)
130 high_memory = node_high_memory;
131 }
132
133 max_mapnr = MAP_NR(high_memory);
134
135 codesize = (unsigned long)_etext - (unsigned long)_text;
136 datasize = (unsigned long)_edata - (unsigned long)_data;
137 initsize = (unsigned long)__init_end - (unsigned long)__init_begin;
138
139 printk ("Memory: %luk/%luk available (%dk kernel code, "
140 "%dk reserved, %dk data, %dk init)\n",
141 nr_free_pages() << (PAGE_SHIFT - 10),
142 totalram_pages << (PAGE_SHIFT - 10),
143 codesize >> 10,
144 reservedpages << (PAGE_SHIFT - 10),
145 datasize >> 10,
146 initsize >> 10);
147} 113}
148 114
149void free_initmem(void) 115void free_initmem(void)
150{ 116{
151 free_initmem_default(0); 117 free_initmem_default(-1);
152} 118}
153 119
154#ifdef CONFIG_BLK_DEV_INITRD 120#ifdef CONFIG_BLK_DEV_INITRD
155void free_initrd_mem(unsigned long start, unsigned long end) 121void free_initrd_mem(unsigned long start, unsigned long end)
156{ 122{
157 free_reserved_area(start, end, 0, "initrd"); 123 free_reserved_area((void *)start, (void *)end, -1, "initrd");
158} 124}
159#endif 125#endif