From 153ee9e24726764c9102257de3602a59766776a8 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Sat, 15 Sep 2007 22:04:49 +0000 Subject: [PATCH] - some more sparc{,64} twiddling --- Config.in | 37 ++++++++++++++++++++++++++++++++----- package/Makefile.in | 7 +++++++ toolchain/uClibc/uclibc.mk | 14 ++++++++++++-- 3 files changed, 51 insertions(+), 7 deletions(-) diff --git a/Config.in b/Config.in index 7d3dde8053..4ed8304cf1 100644 --- a/Config.in +++ b/Config.in @@ -286,7 +286,7 @@ endchoice choice prompt "Target Architecture Variant" - depends BR2_sparc || BR2_sparc64 + depends BR2_sparc default BR2_sparc_v7 help Specific CPU variant to use @@ -315,6 +315,8 @@ config BR2_sparc_tsc701 bool "tsc701" config BR2_sparc_v9 bool "v9" +config BR2_sparc_v9b + bool "v9b" config BR2_sparc_ultrasparc bool "ultrasparc" config BR2_sparc_ultrasparc3 @@ -323,6 +325,31 @@ config BR2_sparc_niagara bool "niagara" endchoice +choice + prompt "Target Architecture Variant" + depends BR2_sparc64 + default BR2_sparc64_v9 + help + Specific CPU variant to use + +config BR2_sparc64_v9 + bool "v9" +config BR2_sparc64_v9b + bool "v9b" +config BR2_sparc64_ultrasparc + bool "ultrasparc" +config BR2_sparc64_ultrasparc3 + bool "ultrasparc3" +config BR2_sparc64_niagara + bool "niagara" +endchoice + +config BR2_SPARC_TYPE + string + default V7 if BR2_sparc_v7 || BR2_sparc_cypress || BR2_sparc_sparclite || BR2_sparc_f930 || BR2_sparc_f934 || BR2_sparc_sparclite86x || BR2_sparc_sparclet || BR2_sparc_tsc701 + default V8 if BR2_sparc_v8 || BR2_sparc_supersparc || BR2_sparc_hypersparc + default V9 if BR2_sparc_v9 || BR2_sparc_ultrasparc || BR2_sparc_ultrasparc3 || BR2_sparc_niagara || BR2_sparc64_v9 || BR2_sparc64_ultrasparc || BR2_sparc64_ultrasparc3 || BR2_sparc64_niagara + default V9B if BR2_sparc_v9b || BR2_sparc64_v9b choice prompt "Target Architecture Variant" @@ -557,10 +584,10 @@ config BR2_GCC_TARGET_TUNE default sparclite86x if BR2_sparc_sparclite86x default sparclet if BR2_sparc_sparclet default tsc701 if BR2_sparc_tsc701 - default v9 if BR2_sparc_v9 - default ultrasparc if BR2_sparc_ultrasparc - default ultrasparc3 if BR2_sparc_ultrasparc3 - default niagara if BR2_sparc_niagara + default v9 if BR2_sparc_v9 || BR2_sparc_v9b || BR2_sparc64_v9 || BR2_sparc64_v9b + default ultrasparc if BR2_sparc_ultrasparc || BR2_sparc64_ultrasparc + default ultrasparc3 if BR2_sparc_ultrasparc3 || BR2_sparc64_ultrasparc3 + default niagara if BR2_sparc_niagara || BR2_sparc64_niagara default g5 if BR2_s390_g5 default g6 if BR2_s390_g6 default z900 if BR2_s390_z900 diff --git a/package/Makefile.in b/package/Makefile.in index a3d408fd54..df57304d17 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -46,6 +46,13 @@ ifeq ($(BR2_SOFT_FLOAT),y) TARGET_CFLAGS+=-msoft-float endif +ifeq ($(BR2_sparc_v9b),y) +TARGET_CFLAGS+=-mvis +endif +ifeq ($(BR2_sparc64_v9b),y) +TARGET_CFLAGS+=-mvis +endif + TARGET_CXXFLAGS=$(TARGET_CFLAGS) # else it's an external toolchain diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk index 6056d986ec..d17a7f7ef7 100644 --- a/toolchain/uClibc/uclibc.mk +++ b/toolchain/uClibc/uclibc.mk @@ -75,6 +75,7 @@ UCLIBC_TARGET_ENDIAN:=$(shell $(SHELL) -c "echo $(ARCH) | sed \ -e 's/mips/BIG/' \ -e 's/sh[234].*eb/BIG/' \ -e 's/sh[234]/LITTLE/' \ + -e 's/sparc.*/BIG/' \ ") ifneq ($(UCLIBC_TARGET_ENDIAN),LITTLE) @@ -88,7 +89,9 @@ else UCLIBC_NOT_TARGET_ENDIAN:=LITTLE endif -ARM_CONFIG:=CONFIG_$(strip $(subst ",, $(BR2_ARM_TYPE))) +UCLIBC_ARM_TYPE:=CONFIG_$(strip $(subst ",, $(BR2_ARM_TYPE))) +#")) +UCLIBC_SPARC_TYPE:=CONFIG_SPARC_$(strip $(subst ",, $(BR2_SPARC_TYPE))) #")) $(DL_DIR)/$(UCLIBC_SOURCE): @@ -136,7 +139,7 @@ $(UCLIBC_DIR)/.oldconfig: $(UCLIBC_DIR)/.unpacked $(UCLIBC_CONFIG_FILE) ifeq ($(UCLIBC_TARGET_ARCH),arm) $(SED) 's/^\(CONFIG_[^_]*[_]*ARM[^=]*\)=.*/# \1 is not set/g' \ $(UCLIBC_DIR)/.oldconfig - $(SED) 's/^.*$(ARM_CONFIG).*/$(ARM_CONFIG)=y/g' $(UCLIBC_DIR)/.oldconfig + $(SED) 's/^.*$(UCLIBC_ARM_TYPE).*/$(UCLIBC_ARM_TYPE)=y/g' $(UCLIBC_DIR)/.oldconfig ifeq ($(BR2_ARM_EABI),y) /bin/echo "# CONFIG_ARM_OABI is not set" >> $(UCLIBC_DIR)/.oldconfig /bin/echo "CONFIG_ARM_EABI=y" >> $(UCLIBC_DIR)/.oldconfig @@ -178,6 +181,13 @@ ifeq ($(BR2_sh4),y) $(SED) 's,# CONFIG_SH4 is not set,CONFIG_SH4=y,g' $(UCLIBC_DIR)/.oldconfig endif endif +ifeq ($(UCLIBC_TARGET_ARCH),sparc) + $(SED) 's/^\(CONFIG_[^_]*[_]*SPARC[^=]*\)=.*/# \1 is not set/g' \ + $(UCLIBC_DIR)/.oldconfig + for i in V7 V8 V9 V9B; do echo "# CONFIG_SPARC_$$i is not set"; done \ + >> $(UCLIBC_DIR)/.oldconfig + $(SED) 's/^.*$(UCLIBC_SPARC_TYPE).*/$(UCLIBC_SPARC_TYPE)=y/g' $(UCLIBC_DIR)/.oldconfig +endif ifneq ($(UCLIBC_TARGET_ENDIAN),) # The above doesn't work for me, so redo $(SED) 's/.*\(ARCH_$(UCLIBC_NOT_TARGET_ENDIAN)_ENDIAN\).*/# \1 is not set/g' \ -- 2.30.2