Browse Source

microblaze: __init_begin symbol must be aligned

The problem was that free_initmem pass to  free_initrd_mem got
bad aligned __init_begin symbol and free_initrd_mem don't care
about __init_end but take PAGE_SIZE instead.

Here is behavior in kernel bootlog.
ramdisk_execute_command from (init/main.c) was rewrite

Freeing unused kernel memory: 6224k freed
Failed to execute ��������������{���
Failed to execute ��������������{����.  Attempting defaults...
Mounting proc:
Mounting var:

Signed-off-by: Michal Simek <monstr@monstr.eu>
Michal Simek 15 years ago
parent
commit
13cdee2329
1 changed files with 1 additions and 0 deletions
  1. 1 0
      arch/microblaze/kernel/vmlinux.lds.S

+ 1 - 0
arch/microblaze/kernel/vmlinux.lds.S

@@ -86,6 +86,7 @@ SECTIONS {
 		_KERNEL_SDA_BASE_ = _ssro + (_ssro_size / 2) ;
 	}
 
+	. = ALIGN(PAGE_SIZE);
 	__init_begin = .;
 
 	INIT_TEXT_SECTION(PAGE_SIZE)