aboutsummaryrefslogtreecommitdiff
path: root/arch/h8300
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 15:20:36 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 15:20:36 -0700
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /arch/h8300
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'arch/h8300')
-rw-r--r--arch/h8300/Kconfig194
-rw-r--r--arch/h8300/Kconfig.cpu183
-rw-r--r--arch/h8300/Kconfig.debug68
-rw-r--r--arch/h8300/Kconfig.ide44
-rw-r--r--arch/h8300/Makefile78
-rw-r--r--arch/h8300/README37
-rw-r--r--arch/h8300/boot/Makefile12
-rw-r--r--arch/h8300/defconfig356
-rw-r--r--arch/h8300/kernel/Makefile11
-rw-r--r--arch/h8300/kernel/asm-offsets.c65
-rw-r--r--arch/h8300/kernel/gpio.c174
-rw-r--r--arch/h8300/kernel/h8300_ksyms.c112
-rw-r--r--arch/h8300/kernel/init_task.c43
-rw-r--r--arch/h8300/kernel/ints.c255
-rw-r--r--arch/h8300/kernel/module.c122
-rw-r--r--arch/h8300/kernel/process.c288
-rw-r--r--arch/h8300/kernel/ptrace.c277
-rw-r--r--arch/h8300/kernel/semaphore.c133
-rw-r--r--arch/h8300/kernel/setup.c248
-rw-r--r--arch/h8300/kernel/signal.c552
-rw-r--r--arch/h8300/kernel/sys_h8300.c282
-rw-r--r--arch/h8300/kernel/syscalls.S340
-rw-r--r--arch/h8300/kernel/time.c134
-rw-r--r--arch/h8300/kernel/traps.c169
-rw-r--r--arch/h8300/kernel/vmlinux.lds.S172
-rw-r--r--arch/h8300/lib/Makefile8
-rw-r--r--arch/h8300/lib/abs.S21
-rw-r--r--arch/h8300/lib/ashrdi3.c63
-rw-r--r--arch/h8300/lib/checksum.c159
-rw-r--r--arch/h8300/lib/memcpy.S84
-rw-r--r--arch/h8300/lib/memset.S61
-rw-r--r--arch/h8300/lib/romfs.S58
-rw-r--r--arch/h8300/mm/Makefile5
-rw-r--r--arch/h8300/mm/fault.c58
-rw-r--r--arch/h8300/mm/init.c232
-rw-r--r--arch/h8300/mm/kmap.c59
-rw-r--r--arch/h8300/mm/memory.c70
-rw-r--r--arch/h8300/platform/h8300h/Makefile7
-rw-r--r--arch/h8300/platform/h8300h/aki3068net/Makefile6
-rw-r--r--arch/h8300/platform/h8300h/aki3068net/crt0_ram.S111
-rw-r--r--arch/h8300/platform/h8300h/aki3068net/timer.c52
-rw-r--r--arch/h8300/platform/h8300h/entry.S333
-rw-r--r--arch/h8300/platform/h8300h/generic/Makefile6
-rw-r--r--arch/h8300/platform/h8300h/generic/crt0_ram.S108
-rw-r--r--arch/h8300/platform/h8300h/generic/crt0_rom.S123
-rw-r--r--arch/h8300/platform/h8300h/generic/timer.c96
-rw-r--r--arch/h8300/platform/h8300h/h8max/Makefile6
-rw-r--r--arch/h8300/platform/h8300h/h8max/crt0_ram.S111
-rw-r--r--arch/h8300/platform/h8300h/h8max/timer.c53
-rw-r--r--arch/h8300/platform/h8300h/ints_h8300h.c86
-rw-r--r--arch/h8300/platform/h8300h/ptrace_h8300h.c284
-rw-r--r--arch/h8300/platform/h8s/Makefile7
-rw-r--r--arch/h8300/platform/h8s/edosk2674/Makefile6
-rw-r--r--arch/h8300/platform/h8s/edosk2674/crt0_ram.S131
-rw-r--r--arch/h8300/platform/h8s/edosk2674/crt0_rom.S187
-rw-r--r--arch/h8300/platform/h8s/edosk2674/timer.c55
-rw-r--r--arch/h8300/platform/h8s/entry.S331
-rw-r--r--arch/h8300/platform/h8s/generic/Makefile6
-rw-r--r--arch/h8300/platform/h8s/generic/crt0_ram.S128
-rw-r--r--arch/h8300/platform/h8s/generic/crt0_rom.S129
-rw-r--r--arch/h8300/platform/h8s/generic/timer.c54
-rw-r--r--arch/h8300/platform/h8s/ints.c303
-rw-r--r--arch/h8300/platform/h8s/ints_h8s.c105
-rw-r--r--arch/h8300/platform/h8s/ptrace_h8s.c84
64 files changed, 8135 insertions, 0 deletions
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
new file mode 100644
index 00000000000..62a89e812e3
--- /dev/null
+++ b/arch/h8300/Kconfig
@@ -0,0 +1,194 @@
+#
+# For a description of the syntax of this configuration file,
+# see Documentation/kbuild/config-language.txt.
+#
+
+mainmenu "uClinux/h8300 (w/o MMU) Kernel Configuration"
+
+config H8300
+ bool
+ default y
+
+config MMU
+ bool
+ default n
+
+config SWAP
+ bool
+ default n
+
+config FPU
+ bool
+ default n
+
+config UID16
+ bool
+ default y
+
+config RWSEM_GENERIC_SPINLOCK
+ bool
+ default y
+
+config RWSEM_XCHGADD_ALGORITHM
+ bool
+ default n
+
+config GENERIC_CALIBRATE_DELAY
+ bool
+ default y
+
+config ISA
+ bool
+ default y
+
+config PCI
+ bool
+ default n
+
+source "init/Kconfig"
+
+source "arch/h8300/Kconfig.cpu"
+
+menu "Executable file formats"
+
+source "fs/Kconfig.binfmt"
+
+endmenu
+
+source "drivers/base/Kconfig"
+
+source "drivers/mtd/Kconfig"
+
+source "drivers/block/Kconfig"
+
+source "drivers/ide/Kconfig"
+
+source "arch/h8300/Kconfig.ide"
+
+source "net/Kconfig"
+
+#
+# input - input/joystick depends on it. As does USB.
+#
+source "drivers/input/Kconfig"
+
+menu "Character devices"
+
+config VT
+ bool "Virtual terminal"
+ ---help---
+ If you say Y here, you will get support for terminal devices with
+ display and keyboard devices. These are called "virtual" because you
+ can run several virtual terminals (also called virtual consoles) on
+ one physical terminal. This is rather useful, for example one
+ virtual terminal can collect system messages and warnings, another
+ one can be used for a text-mode user session, and a third could run
+ an X session, all in parallel. Switching between virtual terminals
+ is done with certain key combinations, usually Alt-<function key>.
+
+ The setterm command ("man setterm") can be used to change the
+ properties (such as colors or beeping) of a virtual terminal. The
+ man page console_codes(4) ("man console_codes") contains the special
+ character sequences that can be used to change those properties
+ directly. The fonts used on virtual terminals can be changed with
+ the setfont ("man setfont") command and the key bindings are defined
+ with the loadkeys ("man loadkeys") command.
+
+ You need at least one virtual terminal device in order to make use
+ of your keyboard and monitor. Therefore, only people configuring an
+ embedded system would want to say N here in order to save some
+ memory; the only way to log into such a system is then via a serial
+ or network connection.
+
+ If unsure, say Y, or else you won't be able to do much with your new
+ shiny Linux system :-)
+
+config VT_CONSOLE
+ bool "Support for console on virtual terminal"
+ depends on VT
+ ---help---
+ The system console is the device which receives all kernel messages
+ and warnings and which allows logins in single user mode. If you
+ answer Y here, a virtual terminal (the device used to interact with
+ a physical terminal) can be used as system console. This is the most
+ common mode of operations, so you should say Y here unless you want
+ the kernel messages be output only to a serial port (in which case
+ you should say Y to "Console on serial port", below).
+
+ If you do say Y here, by default the currently visible virtual
+ terminal (/dev/tty0) will be used as system console. You can change
+ that with a kernel command line option such as "console=tty3" which
+ would use the third virtual terminal as system console. (Try "man
+ bootparam" or see the documentation of your boot loader (lilo or
+ loadlin) about how to pass options to the kernel at boot time.)
+
+ If unsure, say Y.
+
+config HW_CONSOLE
+ bool
+ depends on VT && !S390 && !UM
+ default y
+
+comment "Unix98 PTY support"
+
+config UNIX98_PTYS
+ bool "Unix98 PTY support"
+ ---help---
+ A pseudo terminal (PTY) is a software device consisting of two
+ halves: a master and a slave. The slave device behaves identical to
+ a physical terminal; the master device is used by a process to
+ read data from and write data to the slave, thereby emulating a
+ terminal. Typical programs for the master side are telnet servers
+ and xterms.
+
+ Linux has traditionally used the BSD-like names /dev/ptyxx for
+ masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
+ has a number of problems. The GNU C library glibc 2.1 and later,
+ however, supports the Unix98 naming standard: in order to acquire a
+ pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
+ terminal is then made available to the process and the pseudo
+ terminal slave can be accessed as /dev/pts/<number>. What was
+ traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
+
+ The entries in /dev/pts/ are created on the fly by a virtual
+ file system; therefore, if you say Y here you should say Y to
+ "/dev/pts file system for Unix98 PTYs" as well.
+
+ If you want to say Y here, you need to have the C library glibc 2.1
+ or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
+ Read the instructions in <file:Documentation/Changes> pertaining to
+ pseudo terminals. It's safe to say N.
+
+config UNIX98_PTY_COUNT
+ int "Maximum number of Unix98 PTYs in use (0-2048)"
+ depends on UNIX98_PTYS
+ default "256"
+ help
+ The maximum number of Unix98 PTYs that can be used at any one time.
+ The default is 256, and should be enough for desktop systems. Server
+ machines which support incoming telnet/rlogin/ssh connections and/or
+ serve several X terminals may want to increase this: every incoming
+ connection and every xterm uses up one PTY.
+
+ When not in use, each additional set of 256 PTYs occupy
+ approximately 8 KB of kernel memory on 32-bit architectures.
+
+source "drivers/char/pcmcia/Kconfig"
+
+source "drivers/serial/Kconfig"
+
+source "drivers/i2c/Kconfig"
+
+source "drivers/usb/Kconfig"
+
+endmenu
+
+source "fs/Kconfig"
+
+source "arch/h8300/Kconfig.debug"
+
+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
index 00000000000..d9dd62a565a
--- /dev/null
+++ b/arch/h8300/Kconfig.cpu
@@ -0,0 +1,183 @@
+menu "Processor type and features"
+
+choice
+ prompt "H8/300 platform"
+ default H8300H_GENERIC
+
+config H8300H_GENERIC
+ bool "H8/300H Generic"
+ help
+ H8/300H CPU Generic Hardware Support
+
+config H8300H_AKI3068NET
+ bool "AE-3068/69"
+ help
+ AKI-H8/3068F / AKI-H8/3069F Flashmicom LAN Board Support
+ More Information. (Japanese Only)
+ <http://akizukidensi.com/catalog/h8.html>
+ AE-3068/69 Evaluation Board Support
+ More Information.
+ <http://www.microtronique.com/ae3069lan.htm>
+
+config H8300H_H8MAX
+ bool "H8MAX"
+ help
+ H8MAX Evaluation Board Support
+ More Information. (Japanese Only)
+ <http://strawberry-linux.com/h8/index.html>
+
+config H8300H_SIM
+ bool "H8/300H Simulator"
+ help
+ GDB Simulator Support
+ More Information.
+ arch/h8300/Doc/simulator.txt
+
+config H8S_GENERIC
+ bool "H8S Generic"
+ help
+ H8S CPU Generic Hardware Support
+
+config H8S_EDOSK2674
+ bool "EDOSK-2674"
+ help
+ Renesas EDOSK-2674 Evaluation Board Support
+ More Information.
+ <http://www.azpower.com/H8-uClinux/index.html>
+ <http://www.eu.renesas.com/tools/edk/support/edosk2674.html>
+
+config H8S_SIM
+ bool "H8S Simulator"
+ help
+ GDB Simulator Support
+ More Information.
+ arch/h8300/Doc/simulator.txt
+
+endchoice
+
+if (H8300H_GENERIC || H8S_GENERIC)
+menu "Detail Selection"
+if (H8300H_GENERIC)
+choice
+ prompt "CPU Selection"
+
+config H83002
+ bool "H8/3001,3002,3003"
+
+config H83007
+ bool "H8/3006,3007"
+
+config H83048
+ bool "H8/3044,3045,3046,3047,3048,3052"
+
+config H83068
+ bool "H8/3065,3066,3067,3068,3069"
+endchoice
+endif
+
+if (H8S_GENERIC)
+choice
+ prompt "CPU Selection"
+
+config H8S2678
+ bool "H8S/2670,2673,2674R,2675,2676"
+endchoice
+endif
+
+config CPU_CLOCK
+ int "CPU Clock Frequency (/1KHz)"
+ default "20000"
+ help
+ CPU Clock Frequency divide to 1000
+endmenu
+endif
+
+if (H8300H_GENERIC || H8S_GENERIC || H8300H_SIM || H8S_SIM || H8S_EDOSK2674)
+choice
+ prompt "Kernel executes from"
+ ---help---
+ Choose the memory type that the kernel will be running in.
+
+config RAMKERNEL
+ bool "RAM"
+ help
+ The kernel will be resident in RAM when running.
+
+config ROMKERNEL
+ bool "ROM"
+ help
+ The kernel will be resident in FLASH/ROM when running.
+
+endchoice
+endif
+
+if (H8300H_AKI3068NET)
+config H83068
+ bool
+ default y
+
+config CPU_CLOCK
+ int
+ default "20000"
+
+config RAMKERNEL
+ bool
+ default y
+endif
+
+if (H8300H_H8MAX)
+config H83068
+ bool
+ default y
+
+config CPU_CLOCK
+ int
+ default 25000
+
+config RAMKERNEL
+ bool
+ default y
+endif
+
+if (H8300H_SIM)
+config H83007
+ bool
+ default y
+
+config CPU_CLOCK
+ int
+ default "16000"
+endif
+
+if (H8S_EDOSK2674)
+config H8S2678
+ bool
+ default y
+config CPU_CLOCK
+ int
+ default 33000
+endif
+
+if (H8S_SIM)
+config H8S2678
+ bool
+ default y
+config CPU_CLOCK
+ int
+ default 33000
+endif
+
+config CPU_H8300H
+ bool
+ depends on (H8002 || H83007 || H83048 || H83068)
+ default y
+
+config CPU_H8S
+ bool
+ depends on H8S2678
+ default y
+
+config PREEMPT
+ bool "Preemptible Kernel"
+ default n
+endmenu
diff --git a/arch/h8300/Kconfig.debug b/arch/h8300/Kconfig.debug
new file mode 100644
index 00000000000..55034d08abf
--- /dev/null
+++ b/arch/h8300/Kconfig.debug
@@ -0,0 +1,68 @@
+menu "Kernel hacking"
+
+source "lib/Kconfig.debug"
+
+config FULLDEBUG
+ bool "Full Symbolic/Source Debugging support"
+ help
+ Enable debugging symbols on kernel build.
+
+config HIGHPROFILE
+ bool "Use fast second timer for profiling"
+ help
+ Use a fast secondary clock to produce profiling information.
+
+config NO_KERNEL_MSG
+ bool "Suppress Kernel BUG Messages"
+ help
+ Do not output any debug BUG messages within the kernel.
+
+config GDB_MAGICPRINT
+ bool "Message Output for GDB MagicPrint service"
+ depends on (H8300H_SIM || H8S_SIM)
+ help
+ kernel messages output useing MagicPrint service from GDB
+
+config SYSCALL_PRINT
+ bool "SystemCall trace print"
+ help
+ outout history of systemcall
+
+config GDB_DEBUG
+ bool "Use gdb stub"
+ depends on (!H8300H_SIM && !H8S_SIM)
+ help
+ gdb stub exception support
+
+config CONFIG_SH_STANDARD_BIOS
+ bool "Use gdb protocol serial console"
+ depends on (!H8300H_SIM && !H8S_SIM)
+ help
+ serial console output using GDB protocol.
+ Require eCos/RedBoot
+
+config DEFAULT_CMDLINE
+ bool "Use buildin commandline"
+ default n
+ help
+ buildin kernel commandline enabled.
+
+config KERNEL_COMMAND
+ string "Buildin commmand string"
+ depends on DEFAULT_CMDLINE
+ help
+ buildin kernel commandline strings.
+
+config BLKDEV_RESERVE
+ bool "BLKDEV Reserved Memory"
+ default n
+ help
+ Reserved BLKDEV area.
+
+config CONFIG_BLKDEV_RESERVE_ADDRESS
+ hex 'start address'
+ depends on BLKDEV_RESERVE
+ help
+ BLKDEV start address.
+
+endmenu
diff --git a/arch/h8300/Kconfig.ide b/arch/h8300/Kconfig.ide
new file mode 100644
index 00000000000..a38a63054ac
--- /dev/null
+++ b/arch/h8300/Kconfig.ide
@@ -0,0 +1,44 @@
+# uClinux H8/300 Target Board Selection Menu (IDE)
+
+if (H8300H_AKI3068NET)
+menu "IDE Extra configuration"
+
+config H8300_IDE_BASE
+ hex "IDE register base address"
+ depends on IDE
+ default 0
+ help
+ IDE registers base address
+
+config H8300_IDE_ALT
+ hex "IDE register alternate address"
+ depends on IDE
+ default 0
+ help
+ IDE alternate registers address
+
+config H8300_IDE_IRQ
+ int "IDE IRQ no"
+ depends on IDE
+ default 0
+ help
+ IDE use IRQ no
+endmenu
+endif
+
+if (H8300H_H8MAX)
+config H8300_IDE_BASE
+ hex
+ depends on IDE
+ default 0x200000
+
+config H8300_IDE_ALT
+ hex
+ depends on IDE
+ default 0x60000c
+
+config H8300_IDE_IRQ
+ int
+ depends on IDE
+ default 5
+endif
diff --git a/arch/h8300/Makefile b/arch/h8300/Makefile
new file mode 100644
index 00000000000..c9b80cffd71
--- /dev/null
+++ b/arch/h8300/Makefile
@@ -0,0 +1,78 @@
+#
+# 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,2003 Yoshinori Sato <ysato@users.sourceforge.jp>
+#
+
+platform-$(CONFIG_CPU_H8300H) := h8300h
+platform-$(CONFIG_CPU_H8S) := h8s
+PLATFORM := $(platform-y)
+
+board-$(CONFIG_H8300H_GENERIC) := generic
+board-$(CONFIG_H8300H_AKI3068NET) := aki3068net
+board-$(CONFIG_H8300H_H8MAX) := h8max
+board-$(CONFIG_H8300H_SIM) := generic
+board-$(CONFIG_H8S_GENERIC) := generic
+board-$(CONFIG_H8S_EDOSK2674) := edosk2674
+board-$(CONFIG_H8S_SIM) := generic
+BOARD := $(board-y)
+
+model-$(CONFIG_RAMKERNEL) := ram
+model-$(CONFIG_ROMKERNEL) := rom
+MODEL := $(model-y)
+
+cflags-$(CONFIG_CPU_H8300H) := -mh
+ldflags-$(CONFIG_CPU_H8300H) := -mh8300helf
+cflags-$(CONFIG_CPU_H8S) := -ms
+ldflags-$(CONFIG_CPU_H8S) := -mh8300self
+
+CFLAGS += $(cflags-y)
+CFLAGS += -mint32 -fno-builtin
+CFLAGS += -g
+CFLAGS += -D__linux__
+CFLAGS += -DUTS_SYSNAME=\"uClinux\"
+AFLAGS += -DPLATFORM=$(PLATFORM) -DMODEL=$(MODEL) $(cflags-y)
+LDFLAGS += $(ldflags-y)
+
+CROSS_COMPILE = h8300-elf-
+LIBGCC := $(shell $(CROSS-COMPILE)$(CC) $(CFLAGS) -print-libgcc-file-name)
+
+head-y := arch/$(ARCH)/platform/$(platform-y)/$(board-y)/crt0_$(model-y).o
+
+core-y += arch/$(ARCH)/kernel/ \
+ arch/$(ARCH)/mm/
+ifdef PLATFORM
+core-y += arch/$(ARCH)/platform/$(PLATFORM)/ \
+ arch/$(ARCH)/platform/$(PLATFORM)/$(BOARD)/
+endif
+
+libs-y += arch/$(ARCH)/lib/ $(LIBGCC)
+
+boot := arch/h8300/boot
+
+export MODEL PLATFORM BOARD
+
+archmrproper:
+
+archclean:
+ $(Q)$(MAKE) $(clean)=$(boot)
+
+prepare: include/asm-$(ARCH)/asm-offsets.h
+
+include/asm-$(ARCH)/asm-offsets.h: arch/$(ARCH)/kernel/asm-offsets.s \
+ include/asm include/linux/version.h
+ $(call filechk,gen-asm-offsets)
+
+vmlinux.srec vmlinux.bin: vmlinux
+ $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
+
+define archhelp
+ echo 'vmlinux.bin - Create raw binary'
+ echo 'vmlinux.srec - Create srec binary'
+endef
+
+CLEAN_FILES += include/asm-$(ARCH)/asm-offsets.h
diff --git a/arch/h8300/README b/arch/h8300/README
new file mode 100644
index 00000000000..2fd6f6d7a01
--- /dev/null
+++ b/arch/h8300/README
@@ -0,0 +1,37 @@
+linux-2.6 for H8/300 README
+Yoshinori Sato <ysato@users.sourceforge.jp>
+
+* Supported CPU
+H8/300H and H8S
+
+* Supported Target
+1.simulator of GDB
+ require patches.
+
+2.AE 3068/AE 3069
+ more information
+ MICROTRONIQUE <http://www.microtronique.com/>
+ Akizuki Denshi Tsusho Ltd. <http://www.akizuki.ne.jp> (Japanese Only)
+
+3.H8MAX
+ see http://ip-sol.jp/h8max/ (Japanese Only)
+
+4.EDOSK2674
+ see http://www.eu.renesas.com/products/mpumcu/tool/edk/support/edosk2674.html
+ http://www.azpower.com/H8-uClinux/
+
+* Toolchain Version
+gcc-3.1 or higher and patch
+see arch/h8300/tools_patch/README
+binutils-2.12 or higher
+gdb-5.2 or higher
+The environment that can compile a h8300-elf binary is necessary.
+
+* Userland Develop environment
+used h8300-elf toolchains.
+see http://www.uclinux.org/pub/uClinux/ports/h8/
+
+* A few words of thanks
+Porting to H8/300 serieses is support of Information-technology Promotion Agency, Japan.
+I thank support.
+and All developer/user.
diff --git a/arch/h8300/boot/Makefile b/arch/h8300/boot/Makefile
new file mode 100644
index 00000000000..65086d925ca
--- /dev/null
+++ b/arch/h8300/boot/Makefile
@@ -0,0 +1,12 @@
+# arch/h8300/boot/Makefile
+
+targets := vmlinux.srec vmlinux.bin
+
+OBJCOPYFLAGS_vmlinux.srec := -Osrec
+OBJCOPYFLAGS_vmlinux.bin := -Obinary
+
+$(obj)/vmlinux.srec $(obj)/vmlinux.bin: vmlinux FORCE
+ $(call if_changed,objcopy)
+ @echo ' Kernel: $@ is ready'
+
+CLEAN_FILES += arch/$(ARCH)/vmlinux.bin arch/$(ARCH)/vmlinux.srec
diff --git a/arch/h8300/defconfig b/arch/h8300/defconfig
new file mode 100644
index 00000000000..9d9b491cfc2
--- /dev/null
+++ b/