Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dbee90b7 authored by Ralf Baechle's avatar Ralf Baechle
Browse files

[MIPS] Fix linker script to work for non-4K page size.


    
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: default avatarRalf Baechle <ralf@linux-mips.org>
parent fcfd980c
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
#include <linux/config.h>
#include <asm/asm-offsets.h>
#include <asm-generic/vmlinux.lds.h>

#undef mips		/* CPP really sucks for this job  */
@@ -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);
@@ -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 = .;
@@ -105,7 +106,7 @@ 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 = .;
@@ -113,7 +114,7 @@ SECTIONS
  __per_cpu_start = .;
  .data.percpu  : { *(.data.percpu) }
  __per_cpu_end = .;
  . = ALIGN(4096);
  . = ALIGN(_PAGE_SIZE);
  __init_end = .;
  /* freed after init ends here */