diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-01-18 15:12:25 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-02-15 23:16:10 +0530 |
commit | 8b5850f8ac8d9b809db4588b80b568faca5aaaaf (patch) | |
tree | 9cb026d610787ba2177e3543d44c7f94fdfd6bfe /arch/arc/kernel/vmlinux.lds.S | |
parent | 9c57564e26c5392ac7f0e08cc0ad8d29e225a3a3 (diff) | |
download | kernel_goldelico_gta04-8b5850f8ac8d9b809db4588b80b568faca5aaaaf.zip kernel_goldelico_gta04-8b5850f8ac8d9b809db4588b80b568faca5aaaaf.tar.gz kernel_goldelico_gta04-8b5850f8ac8d9b809db4588b80b568faca5aaaaf.tar.bz2 |
ARC: Support for single cycle Close Coupled Mem (CCM)
* Includes mapping of CCMs in address space
* Annotations to move arbitrary code/data into CCM
* Moving some of the critical code/data into CCM
* Runtime detection/reporting
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/arc/kernel/vmlinux.lds.S | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arc/kernel/vmlinux.lds.S b/arch/arc/kernel/vmlinux.lds.S index 303ea01..8d3b0d4 100644 --- a/arch/arc/kernel/vmlinux.lds.S +++ b/arch/arc/kernel/vmlinux.lds.S @@ -23,6 +23,12 @@ jiffies = jiffies_64; SECTIONS { + /* + * ICCM starts at 0x8000_0000. So if kernel is relocated to some other + * address, make sure peripheral at 0x8z doesn't clash with ICCM + * Essentially vector is also in ICCM. + */ + . = CONFIG_LINUX_LINK_BASE; _int_vec_base_lds = .; @@ -31,6 +37,13 @@ SECTIONS . = ALIGN(PAGE_SIZE); } +#ifdef CONFIG_ARC_HAS_ICCM + .text.arcfp : { + *(.text.arcfp) + . = ALIGN(CONFIG_ARC_ICCM_SZ * 1024); + } +#endif + /* * The reason for having a seperate subsection .init.ramfs is to * prevent objump from including it in kernel dumps @@ -134,4 +147,12 @@ SECTIONS .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } +#ifdef CONFIG_ARC_HAS_DCCM + . = CONFIG_ARC_DCCM_BASE; + __arc_dccm_base = .; + .data.arcfp : { + *(.data.arcfp) + } + . = ALIGN(CONFIG_ARC_DCCM_SZ * 1024); +#endif } |