>> 1 # SPDX-License-Identifier: GPL-2.0 1 # 2 # 2 # This file is subject to the terms and condit !! 3 # sparc/Makefile 3 # License. See the file "COPYING" in the main << 4 # for more details. << 5 # 4 # 6 # Copyright (C) 2001 - 2005 Tensilica Inc. !! 5 # Makefile for the architecture dependent flags and dependencies on the 7 # Copyright (C) 2014 Cadence Design Systems In !! 6 # Sparc and sparc64. 8 # 7 # 9 # This file is included by the global makefile !! 8 # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu) 10 # architecture-specific flags and dependencies !! 9 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) 11 10 12 # Core configuration. !! 11 # We are not yet configured - so test on arch 13 # (Use VAR=<xtensa_config> to use another defa !! 12 ifeq ($(ARCH),sparc64) 14 !! 13 KBUILD_DEFCONFIG := sparc64_defconfig 15 variant-y := $(CONFIG_XTENSA_VARIANT_NAME) !! 14 else 16 !! 15 KBUILD_DEFCONFIG := sparc32_defconfig 17 VARIANT = $(variant-y) << 18 << 19 ifneq ($(VARIANT),) << 20 ifdef cross_compiling << 21 ifndef CROSS_COMPILE << 22 CROSS_COMPILE = xtensa_$(VARIANT)- << 23 endif << 24 endif << 25 endif 16 endif 26 17 27 # Platform configuration !! 18 ifeq ($(CONFIG_SPARC32),y) 28 !! 19 ##### 29 platform-$(CONFIG_XTENSA_PLATFORM_XT2000) !! 20 # sparc32 30 platform-$(CONFIG_XTENSA_PLATFORM_ISS) !! 21 # 31 platform-$(CONFIG_XTENSA_PLATFORM_XTFPGA) << 32 << 33 # temporarily until string.h is fixed << 34 KBUILD_CFLAGS += -ffreestanding -D__linux__ << 35 KBUILD_CFLAGS += -pipe -mlongcalls -mtext-sect << 36 KBUILD_CFLAGS += $(call cc-option,-mforce-no-p << 37 KBUILD_CFLAGS += $(call cc-option,-mno-seriali << 38 KBUILD_CFLAGS += $(call cc-option,-mno-fdpic,) << 39 ifneq ($(CONFIG_KERNEL_ABI_CALL0),) << 40 KBUILD_CFLAGS += -mabi=call0 << 41 KBUILD_AFLAGS += -mabi=call0 << 42 endif << 43 22 44 KBUILD_AFLAGS += -mlongcalls -mtext-section-li !! 23 CHECKFLAGS += -D__sparc__ 45 KBUILD_AFLAGS += $(call cc-option,-mno-fdpic,) !! 24 KBUILD_LDFLAGS := -m elf32_sparc >> 25 export BITS := 32 >> 26 UTS_MACHINE := sparc >> 27 >> 28 # We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some >> 29 # versions of gcc. Some gcc versions won't pass -Av8 to binutils when you >> 30 # give -mcpu=v8. This silently worked with older bintutils versions but >> 31 # does not any more. >> 32 KBUILD_CFLAGS += -m32 -mcpu=v8 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 >> 33 KBUILD_CFLAGS += -Wa,-Av8 >> 34 >> 35 KBUILD_AFLAGS += -m32 -Wa,-Av8 >> 36 >> 37 else >> 38 ##### >> 39 # sparc64 >> 40 # 46 41 47 KBUILD_LDFLAGS += -m elf32xtensa !! 42 CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ >> 43 KBUILD_LDFLAGS := -m elf64_sparc >> 44 export BITS := 64 >> 45 UTS_MACHINE := sparc64 >> 46 >> 47 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow >> 48 KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare >> 49 KBUILD_CFLAGS += -Wa,--undeclared-regs >> 50 KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) >> 51 KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs 48 52 49 ifneq ($(CONFIG_LD_NO_RELAX),) !! 53 ifeq ($(CONFIG_MCOUNT),y) 50 KBUILD_LDFLAGS += --no-relax !! 54 KBUILD_CFLAGS += -pg 51 endif 55 endif 52 56 53 CHECKFLAGS += -D$(if $(CONFIG_CPU_BIG_ENDIAN), !! 57 endif 54 58 55 vardirs := $(patsubst %,arch/xtensa/variants/% !! 59 libs-y += arch/sparc/prom/ 56 plfdirs := $(patsubst %,arch/xtensa/platforms/ !! 60 libs-y += arch/sparc/lib/ 57 61 58 KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/% !! 62 drivers-$(CONFIG_PM) += arch/sparc/power/ >> 63 drivers-$(CONFIG_VIDEO) += arch/sparc/video/ 59 64 60 KBUILD_DEFCONFIG := iss_defconfig !! 65 boot := arch/sparc/boot 61 66 62 libs-y += arch/xtensa/lib/ !! 67 # Default target >> 68 all: zImage 63 69 64 boot := arch/xtensa/boot !! 70 image zImage uImage tftpboot.img vmlinux.aout: vmlinux >> 71 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 65 72 66 all Image zImage uImage xipImage: vmlinux !! 73 install: 67 $(Q)$(MAKE) $(build)=$(boot) $@ !! 74 $(call cmd,install) 68 75 69 archheaders: 76 archheaders: 70 $(Q)$(MAKE) $(build)=arch/xtensa/kerne !! 77 $(Q)$(MAKE) $(build)=arch/sparc/kernel/syscalls all >> 78 >> 79 vdso-install-$(CONFIG_SPARC64) += arch/sparc/vdso/vdso64.so.dbg >> 80 vdso-install-$(CONFIG_COMPAT) += arch/sparc/vdso/vdso32.so.dbg >> 81 >> 82 # This is the image used for packaging >> 83 KBUILD_IMAGE := $(boot)/zImage 71 84 >> 85 # Don't use tabs in echo arguments. 72 define archhelp 86 define archhelp 73 @echo '* Image - Kernel ELF image with !! 87 echo '* vmlinux - standard SPARC kernel' 74 @echo '* zImage - Compressed kernel ima !! 88 echo ' image - kernel image ($(boot)/image)' 75 @echo '* uImage - U-Boot wrapped image' !! 89 echo '* zImage - stripped/compressed kernel image ($(boot)/zImage)' 76 @echo ' xipImage - XIP image' !! 90 echo ' uImage - U-Boot SPARC32 Image (only for LEON)' >> 91 echo ' vmlinux.aout - a.out kernel for SPARC64' >> 92 echo ' tftpboot.img - image prepared for tftp' 77 endef 93 endef
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.