summaryrefslogtreecommitdiffstats
path: root/arch/microblaze/kernel/vmlinux.lds.S
Commit message (Collapse)AuthorAgeFilesLines
* microblaze: Add NOTES section to linker scriptMichal Simek2014-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not keep NOTES section align in proper location. 'readelf' shows that 'NOTE' is placed in wrong location which is out of virtual and physical load addresses. Section Headers: [Nr] Name Type Addr Off Size ES Flg Lk Inf Al [ 1] .note.gnu.build-i NOTE 00000000 001000 000024 00 A 0 0 4 [ 2] .text PROGBITS c0000000 002000 284570 00 AX 0 0 16 [ 3] __fdt_blob PROGBITS c0284570 286570 008000 00 A 0 0 1 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x001000 0x00000000 0x00000000 0x00024 0x00024 R 0x1000 LOAD 0x002000 0xc0000000 0x08000000 0x315428 0x316000 RWE 0x1000 This patch move 'NOTE' section to the correct location. Checked with: "ARM: 6740/1: Place correctly notes section in the linker script" (sha1: dc810efb0ca5702c9d96782b99282d4b4383e877) and "[S390] incorrect note program header" (sha1: 7a2512b744e72377c3fa5976f06a3f343e155d1f) Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* mtd/uclinux: Use generic __bss_stop instead of _ebssGeert Uytterhoeven2012-06-271-1/+0
| | | | | | | | | | | | | The standard (see BSS_SECTION() in <asm-generic/vmlinux.lds.h> and <asm-generic/sections.h>) symbol for the end of BSS is __bss_stop. This allows to remove all local declarations that have been added to several architectures just to please CONFIG_MTD_UCLINUX. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Michal Simek <monstr@monstr.eu> Acked-by: Greg Ungerer <gerg@uclinux.org>
* microblaze: Extend space for compiled-in FDT to 32kBMichal Simek2012-03-231-1/+1
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Remove r0_ram pointer and PTO alignmentMichal Simek2011-03-091-5/+0
| | | | | | | | | | | | | | r0_ram pool was used for saving/restoring register content if hw exception happen. This poll was replaced by pt_pool_space with PT_SIZE size. Based on this change SAVE_STATE_ARG_SPACE was removed which caused that PTO offset is zero that's why is also removed. r0_ram space was used as scratchpad by v850. In early Microblaze Linux developing phase was this part of code blindly copied. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Fix initramfsMichal Simek2010-11-181-13/+3
| | | | | | | | Patch: initramfs: generalize initramfs_data.xxx.S variants (sha1 6ae64e428f74e7bacab898ef9665dda719ea6fde) requires hooks in linker script. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Add support for little-endian MicroblazeMichal Simek2010-10-211-0/+4
| | | | | | | | | | | | | Microblaze little-endian toolchain exports __MICROBLAZEEL__ which is used in the kernel to identify little/big endian. The most of the changes are in loading values from DTB which is always big endian. Little endian platforms are based on new AXI bus which has impact to early uartlite initialization. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: remove OUTPUT_FORMAT from linker scriptMichal Simek2010-10-211-1/+0
| | | | | | | OUTPUT_FORMAT setup bigendian platform. Microblaze Linux port is becoming bi endian that's why it is removed. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Do not use _start in vmlinuxMichal Simek2010-08-041-2/+2
| | | | | | | | _start symbol stores physical address where kernel is. Gdb uses this symbol for their purpose that's why we have to rename it. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Allow PAGE_SIZE configurationSteven J. Magnani2010-08-041-6/+6
| | | | | | | | | | Allow developer to configure memory page size at compile time. Larger pages can improve performance on some workloads. Based on PowerPC code. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Quiet section mismatch warningsSteven J. Magnani2010-05-061-1/+2
| | | | | | | | _start is located in .text, which causes mismatch warnings with machine_early_init() and start_kernel() in .init.text. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Add IRQENTRY_TEXT to ldsMichal Simek2009-12-141-2/+3
| | | | | | It is important for ftrace irqsoff support Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: __init_begin symbol must be alignedMichal Simek2009-12-141-0/+1
| | | | | | | | | | | | | | | | | 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>
* microblaze: Fix _start symbol to physical addressMichal Simek2009-09-221-0/+1
| | | | | | | | | _start is setup to physical kernel start address. This caused that when you load vmlinux (with MMU kernel) via XMD program counter (pc) is setup correctly and then you can write con and start kernel. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Use LOAD_OFFSET macro to get correct LMA for all sectionsMichal Simek2009-09-221-15/+19
| | | | | | | | | | | | | Currently, vmlinux has LMA==VMA for all sections, which is wrong for MMU kernels. Previous patches in this series defined the LOAD_OFFSET constant, now we make use of it in our link script. Other minor changes in this patch: * brace/indenting cleanup of some sections * put __fdt_* symbols in their own section, and apply LOAD_OFFSET fixup Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Cleanup linker script using new linker script macros.Tim Abbott2009-09-211-31/+8
| | | | | | | | | | | | | I wasn't able to further clean up the linker script using the INIT_DATA_SECTION macro because of the FIXME comment for the .init.ramfs section; when that is resolved we should convert microblaze to use INIT_DATA_SECTION. Signed-off-by: Tim Abbott <tabbott@ksplice.com> Cc: Michal Simek <monstr@monstr.eu> Cc: microblaze-uclinux@itee.uq.edu.au Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Michal Simek <monstr@monstr.eu>
* linker script: unify usage of discard definitionTejun Heo2009-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Discarded sections in different archs share some commonality but have considerable differences. This led to linker script for each arch implementing its own /DISCARD/ definition, which makes maintaining tedious and adding new entries error-prone. This patch makes all linker scripts to move discard definitions to the end of the linker script and use the common DISCARDS macro. As ld uses the first matching section definition, archs can include default discarded sections by including them earlier in the linker script. ia64 is notable because it first throws away some ia64 specific subsections and then include the rest of the sections into the final image, so those sections must be discarded before the inclusion. defconfig compile tested for x86, x86-64, powerpc, powerpc64, ia64, alpha, sparc, sparc64 and s390. Michal Simek tested microblaze. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Mike Frysinger <vapier@gentoo.org> Tested-by: Michal Simek <monstr@monstr.eu> Cc: linux-arch@vger.kernel.org Cc: Michal Simek <monstr@monstr.eu> Cc: microblaze-uclinux@itee.uq.edu.au Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Tony Luck <tony.luck@intel.com>
* microblaze: include EXIT_TEXT to _stextMichal Simek2009-07-091-2/+2
| | | | | | | | | | | | Microblaze wants to throw out EXIT_TEXT during runtime too. This hasn't caused trouble till now because the linker script didn't discard EXIT_TEXT and it ended up in its default output section. As discard definition is about to be unified, include EXIT_TEXT into _stext explicitly and while at it replace explicit exitcall definition to EXIT_CALL. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: Tejun Heo <tj@kernel.org>
* linker script: throw away .discard sectionTejun Heo2009-06-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | x86 throws away .discard section but no other archs do. Also, .discard is not thrown away while linking modules. Make every arch and module linking throw it away. This will be used to define dummy variables for percpu declarations and definitions. This patch is based on Ivan Kokshaysky's alpha percpu patch. [ Impact: always throw away everything in .discard ] Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: Richard Henderson <rth@twiddle.net> Cc: Russell King <linux@arm.linux.org.uk> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: Bryan Wu <cooloney@kernel.org> Cc: Mikael Starvik <starvik@axis.com> Cc: Jesper Nilsson <jesper.nilsson@axis.com> Cc: David Howells <dhowells@redhat.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Tony Luck <tony.luck@intel.com> Cc: Hirokazu Takata <takata@linux-m32r.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Michal Simek <monstr@monstr.eu> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: David S. Miller <davem@davemloft.net> Cc: Jeff Dike <jdike@addtoit.com> Cc: Chris Zankel <chris@zankel.net> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Ingo Molnar <mingo@elte.hu>
* microblaze: Add missing symbols for CONSTRUCTORS supportMichal Simek2009-06-201-5/+6
| | | | | | | | | Commit b99b87f70c7785ab1e253c6220f4b0b57ce3a7f7 add CONSTRUCTOR support to Linux but Microblaze not defined KERNEL_CTORS symbols which are used with that patch. This patch fixed it. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_mmu_v2: Update linker script for MMUMichal Simek2009-05-261-2/+1
| | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: add security initcallsArnd Bergmann2009-05-211-0/+2
| | | | | | | | The security subsystem has its own initcalls, which need support in vmlinux.lds.S. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze_v8: vmlinux.lds.S - linker scriptMichal Simek2009-03-271-0/+163
Reviewed-by: Ingo Molnar <mingo@elte.hu> Acked-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> Acked-by: John Linn <john.linn@xilinx.com> Acked-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
OpenPOWER on IntegriCloud