Skip to content

Commit

Permalink
[MIPS] Fix linker script to work for non-4K page size.
Browse files Browse the repository at this point in the history
    
Very much to my surprise Fuxin Zhang reports this is all it takes to get
the kernel to work for page sizes larger than 4kB.  This also paves the
way for support for the R6000 and R8000 which don't support 4kB page size.
    
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Ralf Baechle committed Feb 7, 2006
1 parent fcfd980 commit dbee90b
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions arch/mips/kernel/vmlinux.lds.S
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include <linux/config.h>
#include <asm/asm-offsets.h>
#include <asm-generic/vmlinux.lds.h>

#undef mips /* CPP really sucks for this job */
Expand Down Expand Up @@ -64,10 +65,10 @@ SECTIONS
we can shorten the on-disk segment size. */
.sdata : { *(.sdata) }

. = ALIGN(4096);
. = ALIGN(_PAGE_SIZE);
__nosave_begin = .;
.data_nosave : { *(.data.nosave) }
. = ALIGN(4096);
. = ALIGN(_PAGE_SIZE);
__nosave_end = .;

. = ALIGN(32);
Expand All @@ -76,7 +77,7 @@ SECTIONS
_edata = .; /* End of data section */

/* will be freed after init */
. = ALIGN(4096); /* Init code and data */
. = ALIGN(_PAGE_SIZE); /* Init code and data */
__init_begin = .;
.init.text : {
_sinittext = .;
Expand Down Expand Up @@ -105,15 +106,15 @@ SECTIONS
.con_initcall.init : { *(.con_initcall.init) }
__con_initcall_end = .;
SECURITY_INIT
. = ALIGN(4096);
. = ALIGN(_PAGE_SIZE);
__initramfs_start = .;
.init.ramfs : { *(.init.ramfs) }
__initramfs_end = .;
. = ALIGN(32);
__per_cpu_start = .;
.data.percpu : { *(.data.percpu) }
__per_cpu_end = .;
. = ALIGN(4096);
. = ALIGN(_PAGE_SIZE);
__init_end = .;
/* freed after init ends here */

Expand Down

0 comments on commit dbee90b

Please sign in to comment.