OSDN Git Service

h8300: Build scripts
authorYoshinori Sato <ysato@users.sourceforge.jp>
Fri, 8 May 2015 14:23:18 +0000 (23:23 +0900)
committerYoshinori Sato <ysato@users.sourceforge.jp>
Tue, 23 Jun 2015 04:35:54 +0000 (13:35 +0900)
h8300's Makefile, Kconfig and memory layout.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
arch/h8300/Kconfig [new file with mode: 0644]
arch/h8300/Kconfig.cpu [new file with mode: 0644]
arch/h8300/Makefile [new file with mode: 0644]
arch/h8300/kernel/Makefile [new file with mode: 0644]
arch/h8300/kernel/vmlinux.lds.S [new file with mode: 0644]

diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
new file mode 100644 (file)
index 0000000..696415e
--- /dev/null
@@ -0,0 +1,77 @@
+config H8300
+        def_bool y
+       select GENERIC_ATOMIC64
+       select HAVE_UID16
+       select VIRT_TO_BUS
+       select ARCH_WANT_IPC_PARSE_VERSION
+       select GENERIC_IRQ_SHOW
+       select FRAME_POINTER
+       select GENERIC_CPU_DEVICES
+       select MODULES_USE_ELF_RELA
+       select GENERIC_CLOCKEVENTS
+       select CLKDEV_LOOKUP
+       select COMMON_CLK
+       select ARCH_WANT_FRAME_POINTERS
+       select OF
+       select OF_IRQ
+       select OF_EARLY_FLATTREE
+       select HAVE_MEMBLOCK
+       select HAVE_DMA_ATTRS
+
+config RWSEM_GENERIC_SPINLOCK
+       def_bool y
+
+config GENERIC_HWEIGHT
+       def_bool y
+
+config NO_IOPORT_MAP
+       def_bool y
+
+config GENERIC_CSUM
+        def_bool y
+
+config HZ
+       int
+       default 100
+
+config NR_CPUS
+       int
+       default 1
+
+source "init/Kconfig"
+
+source "kernel/Kconfig.freezer"
+
+source "arch/h8300/Kconfig.cpu"
+
+menu "Kernel Features"
+
+source "kernel/Kconfig.preempt"
+
+source "mm/Kconfig"
+
+endmenu
+
+menu "Executable file formats"
+
+source "fs/Kconfig.binfmt"
+
+endmenu
+
+source "net/Kconfig"
+
+source "drivers/Kconfig"
+
+source "fs/Kconfig"
+
+menu "Kernel hacking"
+
+source "lib/Kconfig.debug"
+
+endmenu
+
+source "security/Kconfig"
+
+source "crypto/Kconfig"
+
+source "lib/Kconfig"
diff --git a/arch/h8300/Kconfig.cpu b/arch/h8300/Kconfig.cpu
new file mode 100644 (file)
index 0000000..8d0ff20
--- /dev/null
@@ -0,0 +1,99 @@
+config CPU_H8300H
+       bool
+
+config CPU_H8S
+       bool
+
+config H83069
+       bool
+       select CPU_H8300H
+       select H8300_TMR16
+       select RENESAS_H8300H_INTC
+
+config H8S2678
+       bool
+       select CPU_H8S
+       select H8300_TPU
+       select RENESAS_H8S_INTC
+
+config RAMKERNEL
+       bool
+
+config ROMKERNEL
+       bool
+
+menu "Processor type and features"
+
+choice
+prompt "H8/300 platform"
+
+config H8300_AE3068
+       bool "AE-3068/69"
+       select H83069
+       select RAMKERNEL
+       help
+         AKI-H8/3068F / AKI-H8/3069F Flashmicom LAN Board Support
+         More Information. (Japanese Only)
+         <http://akizukidenshi.com/catalog/default.aspx>
+         AE-3068/69 Evaluation Board Support
+         More Information.
+         <http://www.microtronique.com/ae3069lan.htm>
+
+config H8300_H8MAX
+       bool "H8MAX"
+       select H83069
+       select RAMKERNEL
+       select HAVE_IDE
+       help
+         H8MAX Evaluation Board Support
+         More Information. (Japanese Only)
+         <http://strawberry-linux.com/h8/index.html>
+
+config H8300_KANEBEBE
+       bool "KaneBebe"
+       select H83069
+       select RAMKERNEL
+       help
+         KaneBebe Evalition Board Support
+         More Information. (Japanese Only)
+         <http://www.nissin-tech.com/2009/10/uclinuxkane-bebe-h83069f.html>
+
+config H8300H_SIM
+       bool "H8/300H GDB Simulator"
+       select H83069
+       select ROMKERNEL
+       help
+         GDB Simulator Support
+         More Information.
+         <http://sourceware.org/sid/>
+
+config H8S_EDOSK2674
+       bool "EDOSK-2674"
+       select H8S2678
+       select RAMKERNEL
+       help
+         Renesas EDOSK-2674 Evaluation Board Support
+         More Information.
+         <http://www.azpower.com/H8-uClinux/index.html>
+         <http://www.renesas.eu/products/tools/introductory_evaluation_tools/evaluation_development_os_kits/edosk2674r/edosk2674r_software_tools_root.jsp>
+
+config H8S_SIM
+       bool "H8S GDB Simulator"
+       select H8S2678
+       select ROMKERNEL
+       help
+         GDB Simulator Support
+         More Information.
+         <http://sourceware.org/sid/>
+
+endchoice
+
+config H8300_BUILTIN_DTB
+        string "Builtin DTB"
+       default ""
+
+config OFFSET
+        hex "Load offset"
+       default 0
+
+endmenu
diff --git a/arch/h8300/Makefile b/arch/h8300/Makefile
new file mode 100644 (file)
index 0000000..0d2d96e
--- /dev/null
@@ -0,0 +1,55 @@
+#
+# arch/h8300/Makefile
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.  See the file "COPYING" in the main directory of this archive
+# for more details.
+#
+# (C) Copyright 2002-2015 Yoshinori Sato <ysato@users.sourceforge.jp>
+#
+
+cflags-$(CONFIG_CPU_H8300H)    := -mh
+aflags-$(CONFIG_CPU_H8300H)    := -mh -Wa,--mach=h8300h
+ldflags-$(CONFIG_CPU_H8300H)   := -mh8300helf_linux
+cflags-$(CONFIG_CPU_H8S)       := -ms
+aflags-$(CONFIG_CPU_H8S)       := -ms -Wa,--mach=h8300s
+ldflags-$(CONFIG_CPU_H8S)      := -mh8300self_linux
+
+KBUILD_CFLAGS += $(cflags-y)
+KBUILD_CFLAGS += -mint32 -fno-builtin
+KBUILD_CFLAGS += -D__linux__
+KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
+KBUILD_AFLAGS += $(aflags-y)
+LDFLAGS += $(ldflags-y)
+
+CROSS_COMPILE := h8300-unknown-linux-
+
+core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/
+ifneq '$(CONFIG_H8300_BUILTIN_DTB)' '""'
+core-y += arch/h8300/boot/dts/
+endif
+
+libs-y += arch/$(ARCH)/lib/
+
+boot := arch/h8300/boot
+
+%.dtb %.dtb.S %.dtb.o: | scripts
+       $(Q)$(MAKE) $(build)=arch/h8300/boot/dts arch/h8300/boot/dts/$@
+
+PHONY += dtbs
+dtbs: scripts
+       $(Q)$(MAKE) $(build)=arch/h8300/boot/dts
+
+archmrproper:
+
+archclean:
+       $(Q)$(MAKE) $(clean)=$(boot)
+
+vmlinux.srec vmlinux.bin zImage uImage.bin: vmlinux
+       $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
+
+define archhelp
+  @echo  'vmlinux.bin  - Create raw binary'
+  @echo  'vmlinux.srec - Create srec binary'
+  @echo  'zImage       - Compressed kernel image'
+endef
diff --git a/arch/h8300/kernel/Makefile b/arch/h8300/kernel/Makefile
new file mode 100644 (file)
index 0000000..5bc33f2
--- /dev/null
@@ -0,0 +1,19 @@
+#
+# Makefile for the linux kernel.
+#
+
+extra-y := vmlinux.lds
+
+obj-y := process.o traps.o ptrace.o \
+        signal.o setup.o syscalls.o \
+        irq.o entry.o dma.o
+
+obj-$(CONFIG_ROMKERNEL) += head_rom.o
+obj-$(CONFIG_RAMKERNEL) += head_ram.o
+
+obj-$(CONFIG_MODULES) += module.o h8300_ksyms.o
+obj-$(CONFIG_H8300H_SIM) += sim-console.o
+obj-$(CONFIG_H8S_SIM) += sim-console.o
+
+obj-$(CONFIG_CPU_H8300H) += ptrace_h.o
+obj-$(CONFIG_CPU_H8S) += ptrace_s.o
diff --git a/arch/h8300/kernel/vmlinux.lds.S b/arch/h8300/kernel/vmlinux.lds.S
new file mode 100644 (file)
index 0000000..7c302dc
--- /dev/null
@@ -0,0 +1,67 @@
+#include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
+
+#define ROMTOP 0x000000
+#define RAMTOP 0x400000
+
+jiffies = jiffies_64 + 4;
+
+ENTRY(_start)
+
+SECTIONS
+{
+#if defined(CONFIG_ROMKERNEL)
+       . = ROMTOP;
+       .vectors :
+       {
+       _vector = . ;
+               *(.vector*)
+       }
+#else
+       . = RAMTOP;
+       _ramstart = .;
+       . = . + CONFIG_OFFSET;
+#endif
+       _text = .;
+       HEAD_TEXT_SECTION
+       .text : {
+       _stext = . ;
+               TEXT_TEXT
+               SCHED_TEXT
+               LOCK_TEXT
+#if defined(CONFIG_ROMKERNEL)
+               *(.int_redirect)
+#endif
+       _etext = . ;
+       }
+       EXCEPTION_TABLE(16)
+       NOTES
+       RO_DATA_SECTION(4)
+       ROMEND = .;
+#if defined(CONFIG_ROMKERNEL)
+       . = RAMTOP;
+       _ramstart = .;
+#define ADDR(x) ROMEND
+#else
+#endif
+       _sdata = . ;
+       __data_start = . ;
+       RW_DATA_SECTION(0,0,0)
+#if defined(CONFIG_ROMKERNEL)
+#undef ADDR
+#endif
+       . = ALIGN(0x4) ;
+       __init_begin = .;
+       INIT_TEXT_SECTION(4)
+       INIT_DATA_SECTION(4)
+       SECURITY_INIT
+       __init_end = .;
+       _edata = . ;
+       _begin_data = LOADADDR(.data);
+       _sbss =.;
+       BSS_SECTION(0, 0 ,0)
+       _ebss =.;
+       _ramend = .;
+       _end = .;
+       DISCARDS
+}