diff options
-rw-r--r-- | mk/vars.mk | 11 | ||||
-rw-r--r-- | package/busybox/Makefile | 2 | ||||
-rw-r--r-- | package/libgcc/Makefile | 2 | ||||
-rw-r--r-- | target/config/Config.in | 2 | ||||
-rw-r--r-- | target/config/Config.in.binfmt | 9 | ||||
-rw-r--r-- | target/config/Config.in.cpu | 60 | ||||
-rw-r--r-- | target/config/Config.in.hardware | 5 | ||||
-rw-r--r-- | target/config/Config.in.kernel | 1 | ||||
-rw-r--r-- | target/h8300/kernel/sim-h8300h | 4 | ||||
-rw-r--r-- | target/h8300/systems/sim-h8300h | 8 | ||||
-rw-r--r-- | toolchain/gcc/Makefile | 2 |
11 files changed, 99 insertions, 7 deletions
diff --git a/mk/vars.mk b/mk/vars.mk index 7c38b90d9..68953e14d 100644 --- a/mk/vars.mk +++ b/mk/vars.mk @@ -175,6 +175,17 @@ TARGET_CXXFLAGS+= -msep-data endif endif +ifeq ($(ADK_TARGET_ARCH_H8300),y) +ifeq ($(ADK_TARGET_BINFMT_FLAT),y) +TARGET_CFLAGS+= -Wl,-elf2flt +TARGET_CXXFLAGS+= -Wl,-elf2flt +endif +ifeq ($(ADK_TARGET_BINFMT_FLAT_SEP_DATA),y) +TARGET_CFLAGS+= -msep-data +TARGET_CXXFLAGS+= -msep-data +endif +endif + ifeq ($(ADK_TARGET_ARCH_M68K),y) ifeq ($(ADK_TARGET_BINFMT_FLAT),y) TARGET_LDFLAGS+= -elf2flt diff --git a/package/busybox/Makefile b/package/busybox/Makefile index c293e6d29..25dae3d21 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -41,7 +41,7 @@ do-configure: symbol=$$(echo $$sym|sed -e "s#=y##"); \ printf "# CONFIG_$${symbol} is not set\n" >> ${WRKBUILD}/.config; \ done -ifeq ($(ADK_TARGET_UCLINUX),y) +ifneq ($(ADK_TARGET_WITH_MMU),y) echo 'CONFIG_NOMMU=y' >> ${WRKBUILD}/.config endif $(SED) 's;@IDIR@;${WRKINST};' ${WRKBUILD}/.config diff --git a/package/libgcc/Makefile b/package/libgcc/Makefile index aa788b205..7be8defe1 100644 --- a/package/libgcc/Makefile +++ b/package/libgcc/Makefile @@ -38,7 +38,7 @@ ifeq ($(ADK_TARGET_ARCH_SH),y) ${CP} ${STAGING_TARGET_DIR}/lib/!m4/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH) else ifeq ($(ADK_TARGET_ARCH_AVR32),) -ifeq ($(ADK_TARGET_UCLINUX),) +ifeq ($(ADK_TARGET_BINFMT_FLAT),) ifeq ($(ADK_TARGET_USE_STATIC_LIBS),) ${CP} ${STAGING_TARGET_DIR}/lib/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH) endif diff --git a/target/config/Config.in b/target/config/Config.in index 67cd9cf1e..9fcf00786 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -17,8 +17,6 @@ config ADK_TARGET_TOOLCHAIN config ADK_TARGET_UCLINUX bool select ADK_TARGET_WITHOUT_CXX - select ADK_PACKAGE_SASH - select ADK_PACKAGE_SIMPLEINIT config ADK_TARGET_SIM bool diff --git a/target/config/Config.in.binfmt b/target/config/Config.in.binfmt index 283885265..fb9b203a0 100644 --- a/target/config/Config.in.binfmt +++ b/target/config/Config.in.binfmt @@ -3,7 +3,11 @@ choice prompt "Binary Format" -depends on ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_M68K || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_C6X +depends on ADK_TARGET_ARCH_ARM \ + || ADK_TARGET_ARCH_BFIN \ + || ADK_TARGET_ARCH_C6X \ + || ADK_TARGET_ARCH_H8300\ + || ADK_TARGET_ARCH_M68K config ADK_TARGET_BINFMT_ELF bool "ELF" @@ -11,7 +15,8 @@ config ADK_TARGET_BINFMT_ELF config ADK_TARGET_BINFMT_FLAT bool "FLAT" - depends on (ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_M68K) && ADK_TARGET_UCLINUX + depends on (ADK_TARGET_ARCH_ARM || ADK_TARGET_ARCH_BFIN || ADK_TARGET_ARCH_M68K) && ADK_TARGET_UCLINUX \ + || ADK_TARGET_ARCH_H8300 config ADK_TARGET_BINFMT_DSBT bool "DSBT" diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu index 716bbba94..9ccdb8021 100644 --- a/target/config/Config.in.cpu +++ b/target/config/Config.in.cpu @@ -61,130 +61,162 @@ config ADK_CPU_AVR32 config ADK_CPU_BFIN bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF512 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF514 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF516 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF518 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF522 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF523 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF524 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF525 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF526 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF527 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF531 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF532 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF533 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF534 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF536 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF537 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF538 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF539 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF542 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF544 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF547 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF548 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF549 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF542M bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF544M bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF547M bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF548M bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF549M bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF561 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_BF592 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_C6X bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF bool @@ -193,111 +225,133 @@ config ADK_CPU_CF_51 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5206 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5206E bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5208 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5211A bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5213 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5216 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_52235 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5225 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_52259 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5235 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5249 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5250 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5271 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5272 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5275 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5282 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_53017 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5307 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5329 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5373 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5407 bool select ADK_CPU_CF select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CF_5475 bool @@ -308,10 +362,12 @@ config ADK_CPU_CF_5475 config ADK_CPU_CORTEX_M3 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CORTEX_M4 bool select ADK_TARGET_WITH_LT + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_CORTEX_A5 bool @@ -384,6 +440,7 @@ config ADK_CPU_GEODE config ADK_CPU_H8300 bool + select ADK_TARGET_WITHOUT_MMU select ADK_TARGET_WITHOUT_THREADS select ADK_TARGET_WITHOUT_CXX @@ -508,12 +565,15 @@ config ADK_CPU_PPC64 config ADK_CPU_SH2 bool + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_SH2A bool + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_SH3 bool + select ADK_TARGET_WITHOUT_MMU config ADK_CPU_SH4 bool diff --git a/target/config/Config.in.hardware b/target/config/Config.in.hardware index 0016fcf0b..fb59a0d0e 100644 --- a/target/config/Config.in.hardware +++ b/target/config/Config.in.hardware @@ -101,3 +101,8 @@ config ADK_TARGET_WITH_SMP config ADK_TARGET_WITH_MMU bool select ADK_KERNEL_MMU + +config ADK_TARGET_WITHOUT_MMU + bool + select ADK_PACKAGE_SASH + select ADK_PACKAGE_SIMPLEINIT diff --git a/target/config/Config.in.kernel b/target/config/Config.in.kernel index 0e256deee..4d81617d1 100644 --- a/target/config/Config.in.kernel +++ b/target/config/Config.in.kernel @@ -79,3 +79,4 @@ config ADK_TARGET_KERNEL_MINICONFIG default "xilinx-kintex7" if ADK_TARGET_SYSTEM_XILINX_KINTEX7 default "pcengines-alix" if ADK_TARGET_SYSTEM_PCENGINES_ALIX default "sim-bfin" if ADK_TARGET_SYSTEM_SIM_BFIN + default "sim-h8300" if ADK_TARGET_SYSTEM_SIM_H8300 diff --git a/target/h8300/kernel/sim-h8300h b/target/h8300/kernel/sim-h8300h new file mode 100644 index 000000000..fc28f02f8 --- /dev/null +++ b/target/h8300/kernel/sim-h8300h @@ -0,0 +1,4 @@ +CONFIG_H8300H_SIM=y +CONFIG_H8300_BUILTIN_DTB="h8300h_sim" +CONFIG_SERIAL_SH_SCI=y +CONFIG_SERIAL_SH_SCI_CONSOLE=y diff --git a/target/h8300/systems/sim-h8300h b/target/h8300/systems/sim-h8300h new file mode 100644 index 000000000..2ff18a514 --- /dev/null +++ b/target/h8300/systems/sim-h8300h @@ -0,0 +1,8 @@ +config ADK_TARGET_SYSTEM_SIM_H8300H + bool "Simulator" + select ADK_CPU_H8300 + select ADK_TARGET_TOOLCHAIN + select ADK_TARGET_PACKAGE_TXZ + help + H8/300 simulator. + diff --git a/toolchain/gcc/Makefile b/toolchain/gcc/Makefile index a485a7c28..6fdd62767 100644 --- a/toolchain/gcc/Makefile +++ b/toolchain/gcc/Makefile @@ -64,7 +64,7 @@ else GCC_CONFOPTS+= --disable-tls --disable-threads --disable-libatomic endif -ifeq ($(ADK_TARGET_UCLINUX)$(ADK_TARGET_USE_STATIC_LIBS),y) +ifeq ($(ADK_TARGET_BINFMT_FLAT)$(ADK_TARGET_USE_STATIC_LIBS),y) GCC_FINAL_CONFOPTS+= --disable-shared else # uClibc/glibc uses libgcc_s.so.1 for pthread_cancel with dlopen |