diff options
author | Michal Simek <monstr@monstr.eu> | 2009-10-30 09:41:52 -0400 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2009-12-14 02:40:08 -0500 |
commit | 13cdee23296c437cdd0262a09c3455de8e1e85b2 (patch) | |
tree | a08a78c7a72b8d049e7c4ecb86f1da105051497a /arch | |
parent | 42a2478b789cb1b4335909e0fecc721c07be7d90 (diff) |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/microblaze/kernel/vmlinux.lds.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S index e704188d785..ecee15342e6 100644 --- a/arch/microblaze/kernel/vmlinux.lds.S +++ b/arch/microblaze/kernel/vmlinux.lds.S | |||
@@ -86,6 +86,7 @@ SECTIONS { | |||
86 | _KERNEL_SDA_BASE_ = _ssro + (_ssro_size / 2) ; | 86 | _KERNEL_SDA_BASE_ = _ssro + (_ssro_size / 2) ; |
87 | } | 87 | } |
88 | 88 | ||
89 | . = ALIGN(PAGE_SIZE); | ||
89 | __init_begin = .; | 90 | __init_begin = .; |
90 | 91 | ||
91 | INIT_TEXT_SECTION(PAGE_SIZE) | 92 | INIT_TEXT_SECTION(PAGE_SIZE) |