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

Commit 20b27fa3 authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Fix up the sh64 zImage build.



Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 7b022d07
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -14,8 +14,7 @@
targets		:= vmlinux vmlinux.bin vmlinux.bin.gz \
		   head_64.o misc_64.o cache.o piggy.o

OBJECTS		:= $(obj)/vmlinux_64.lds $(obj)/head_64.o $(obj)/misc_64.o \
		   $(obj)/cache.o
OBJECTS		:= $(obj)/head_64.o $(obj)/misc_64.o $(obj)/cache.o

#
# ZIMAGE_OFFSET is the load offset of the compression loader
+1 −4
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
 *   Copyright (C) 2002 Stuart Menefy (stuart.menefy@st.com)
 */
#include <asm/cache.h>
#include <asm/tlb.h>
#include <cpu/mmu_context.h>
#include <cpu/registers.h>

@@ -33,11 +34,7 @@
#define	ICCR0_INIT_VAL	ICCR0_ON | ICCR0_ICI		/* ICE + ICI */
#define	ICCR1_INIT_VAL	ICCR1_NOLOCK			/* No locking */

#if 1
#define	OCCR0_INIT_VAL	OCCR0_ON | OCCR0_OCI | OCCR0_WB	/* OCE + OCI + WB */
#else
#define	OCCR0_INIT_VAL	OCCR0_OFF
#endif
#define	OCCR1_INIT_VAL	OCCR1_NOLOCK			/* No locking */

	.text
+0 −64
Original line number Diff line number Diff line
/*
 * ld script to make compressed SuperH/shmedia Linux kernel+decompression
 *		bootstrap
 * Modified by Stuart Menefy from arch/sh/vmlinux.lds.S written by Niibe Yutaka
 */


#ifdef CONFIG_LITTLE_ENDIAN
/* OUTPUT_FORMAT("elf32-sh64l-linux", "elf32-sh64l-linux", "elf32-sh64l-linux") */
#define NOP 0x6ff0fff0
#else
/* OUTPUT_FORMAT("elf32-sh64", "elf32-sh64", "elf32-sh64") */
#define NOP 0xf0fff06f
#endif

OUTPUT_FORMAT("elf32-sh64-linux")
OUTPUT_ARCH(sh)
ENTRY(_start)

#define ALIGNED_GAP(section, align) (((ADDR(section)+SIZEOF(section)+(align)-1) & ~((align)-1))-ADDR(section))
#define FOLLOWING(section, align) AT (LOADADDR(section) + ALIGNED_GAP(section,align))

SECTIONS
{
  _text = .;			/* Text and read-only data */

  .text : {
	*(.text)
	*(.text64)
	*(.text..SHmedia32)
	*(.fixup)
	*(.gnu.warning)
	} = NOP
  . = ALIGN(4);
  .rodata : { *(.rodata) }

  /* There is no 'real' reason for eight byte alignment, four would work
   * as well, but gdb downloads much (*4) faster with this.
   */
  . = ALIGN(8);
  .image : { *(.image) }
  . = ALIGN(4);
  _etext = .;			/* End of text section */

  .data :			/* Data */
	FOLLOWING(.image, 4)
	{
	_data = .;
	*(.data)
	}
  _data_image = LOADADDR(.data);/* Address of data section in ROM */

  _edata = .;			/* End of data section */

  .stack : { stack = .;  _stack = .; }

  . = ALIGN(4);
  __bss_start = .;		/* BSS */
  .bss : {
	*(.bss)
	}
  . = ALIGN(4);
  _end = . ;
}