Skip to content

Commit

Permalink
ARM: 7289/1: vmlinux.lds.S: do not hardcode cacheline size as 32 bytes
Browse files Browse the repository at this point in the history
The linker script assumes a cacheline size of 32 bytes when aligning
the .data..cacheline_aligned and .data..percpu sections.

This patch updates the script to use L1_CACHE_BYTES, which should be set
to 64 on platforms that require it.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Will Deacon authored and Russell King committed Jan 23, 2012
1 parent 06e9905 commit f0d5375
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions arch/arm/kernel/vmlinux.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
*/

#include <asm-generic/vmlinux.lds.h>
#include <asm/cache.h>
#include <asm/thread_info.h>
#include <asm/memory.h>
#include <asm/page.h>
Expand Down Expand Up @@ -181,7 +182,7 @@ SECTIONS
}
#endif

PERCPU_SECTION(32)
PERCPU_SECTION(L1_CACHE_BYTES)

#ifdef CONFIG_XIP_KERNEL
__data_loc = ALIGN(4); /* location in binary */
Expand Down Expand Up @@ -212,8 +213,8 @@ SECTIONS
#endif

NOSAVE_DATA
CACHELINE_ALIGNED_DATA(32)
READ_MOSTLY_DATA(32)
CACHELINE_ALIGNED_DATA(L1_CACHE_BYTES)
READ_MOSTLY_DATA(L1_CACHE_BYTES)

/*
* The exception fixup table (might need resorting at runtime)
Expand Down

0 comments on commit f0d5375

Please sign in to comment.