1 # SPDX-License-Identifier: GPL-2.0-only !! 1 # SPDX-License-Identifier: GPL-2.0 2 OBJCOPYFLAGS :=-O binary !! 2 # 3 GZFLAGS :=-9 !! 3 # sparc/Makefile >> 4 # >> 5 # Makefile for the architecture dependent flags and dependencies on the >> 6 # Sparc and sparc64. >> 7 # >> 8 # Copyright (C) 1994,1996,1998 David S. Miller (davem@caip.rutgers.edu) >> 9 # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) 4 10 5 ifdef CONFIG_CPU_HAS_FPU !! 11 # We are not yet configured - so test on arch 6 FPUEXT = f !! 12 ifeq ($(ARCH),sparc64) >> 13 KBUILD_DEFCONFIG := sparc64_defconfig >> 14 else >> 15 KBUILD_DEFCONFIG := sparc32_defconfig 7 endif 16 endif 8 17 9 ifdef CONFIG_CPU_HAS_VDSP !! 18 ifeq ($(CONFIG_SPARC32),y) 10 VDSPEXT = v !! 19 ##### 11 endif !! 20 # sparc32 >> 21 # 12 22 13 ifdef CONFIG_CPU_HAS_TEE !! 23 CHECKFLAGS += -D__sparc__ 14 TEEEXT = t !! 24 KBUILD_LDFLAGS := -m elf32_sparc 15 endif !! 25 export BITS := 32 >> 26 UTS_MACHINE := sparc 16 27 17 ifdef CONFIG_CPU_CK610 !! 28 # We are adding -Wa,-Av8 to KBUILD_CFLAGS to deal with a specs bug in some 18 CPUTYPE = ck610 !! 29 # versions of gcc. Some gcc versions won't pass -Av8 to binutils when you 19 CSKYABI = abiv1 !! 30 # give -mcpu=v8. This silently worked with older bintutils versions but 20 endif !! 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 21 34 22 ifdef CONFIG_CPU_CK810 !! 35 KBUILD_AFLAGS += -m32 -Wa,-Av8 23 CPUTYPE = ck810 << 24 CSKYABI = abiv2 << 25 endif << 26 36 27 ifdef CONFIG_CPU_CK807 !! 37 else 28 CPUTYPE = ck807 !! 38 ##### 29 CSKYABI = abiv2 !! 39 # sparc64 30 endif !! 40 # 31 41 32 ifdef CONFIG_CPU_CK860 !! 42 CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ 33 CPUTYPE = ck860 !! 43 KBUILD_LDFLAGS := -m elf64_sparc 34 CSKYABI = abiv2 !! 44 export BITS := 64 35 endif !! 45 UTS_MACHINE := sparc64 36 46 37 ifneq ($(CSKYABI),) !! 47 KBUILD_CFLAGS += -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow 38 MCPU_STR = $(CPUTYPE)$(FPUEXT)$(VDSPEXT)$(TEEE !! 48 KBUILD_CFLAGS += -ffixed-g4 -ffixed-g5 -fcall-used-g7 -Wno-sign-compare 39 KBUILD_CFLAGS += -mcpu=$(CPUTYPE) -Wa,-mcpu=$( !! 49 KBUILD_CFLAGS += -Wa,--undeclared-regs 40 KBUILD_CFLAGS += -DCSKYCPU_DEF_NAME=\"$(MCPU_S !! 50 KBUILD_CFLAGS += $(call cc-option,-mtune=ultrasparc3) 41 KBUILD_CFLAGS += -msoft-float -mdiv !! 51 KBUILD_AFLAGS += -m64 -mcpu=ultrasparc -Wa,--undeclared-regs 42 KBUILD_CFLAGS += -fno-tree-vectorize << 43 endif << 44 52 45 KBUILD_CFLAGS += -pipe !! 53 ifeq ($(CONFIG_MCOUNT),y) 46 ifeq ($(CSKYABI),abiv2) !! 54 KBUILD_CFLAGS += -pg 47 KBUILD_CFLAGS += -mno-stack-size << 48 endif 55 endif 49 56 50 ifdef CONFIG_FRAME_POINTER << 51 KBUILD_CFLAGS += -mbacktrace << 52 endif 57 endif 53 58 54 abidirs := $(patsubst %,arch/csky/%/,$(CSKYABI !! 59 head-y := arch/sparc/kernel/head_$(BITS).o 55 KBUILD_CFLAGS += $(patsubst %,-I$(srctree)/%in << 56 << 57 KBUILD_CPPFLAGS += -mlittle-endian << 58 LDFLAGS += -EL << 59 60 60 KBUILD_AFLAGS += $(KBUILD_CFLAGS) !! 61 # See arch/sparc/Kbuild for the core part of the kernel >> 62 core-y += arch/sparc/ 61 63 62 core-y += arch/csky/$(CSKYABI)/ !! 64 libs-y += arch/sparc/prom/ >> 65 libs-y += arch/sparc/lib/ 63 66 64 libs-y += arch/csky/lib/ \ !! 67 drivers-$(CONFIG_PM) += arch/sparc/power/ 65 $(shell $(CC) $(KBUILD_CFLAGS) $(KCFLA !! 68 drivers-$(CONFIG_OPROFILE) += arch/sparc/oprofile/ 66 69 67 boot := arch/csky/boot !! 70 boot := arch/sparc/boot 68 71 >> 72 # Default target 69 all: zImage 73 all: zImage 70 74 71 zImage Image uImage: vmlinux !! 75 image zImage uImage tftpboot.img vmlinux.aout: vmlinux 72 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$ 76 $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ 73 77 >> 78 install: >> 79 $(Q)$(MAKE) $(build)=$(boot) $@ >> 80 >> 81 archclean: >> 82 $(Q)$(MAKE) $(clean)=$(boot) >> 83 >> 84 archheaders: >> 85 $(Q)$(MAKE) $(build)=arch/sparc/kernel/syscalls all >> 86 >> 87 PHONY += vdso_install >> 88 vdso_install: >> 89 $(Q)$(MAKE) $(build)=arch/sparc/vdso $@ >> 90 >> 91 # This is the image used for packaging >> 92 KBUILD_IMAGE := $(boot)/zImage >> 93 >> 94 # Don't use tabs in echo arguments. >> 95 ifeq ($(ARCH),sparc) >> 96 define archhelp >> 97 echo '* image - kernel image ($(boot)/image)' >> 98 echo '* zImage - stripped kernel image ($(boot)/zImage)' >> 99 echo ' uImage - U-Boot SPARC32 Image (only for LEON)' >> 100 echo ' tftpboot.img - image prepared for tftp' >> 101 endef >> 102 else 74 define archhelp 103 define archhelp 75 echo '* zImage - Compressed kernel im !! 104 echo '* vmlinux - standard sparc64 kernel' 76 echo ' Image - Uncompressed kernel !! 105 echo '* zImage - stripped and compressed sparc64 kernel ($(boot)/zImage)' 77 echo ' uImage - U-Boot wrapped zImag !! 106 echo ' vmlinux.aout - a.out kernel for sparc64' >> 107 echo ' tftpboot.img - image prepared for tftp' 78 endef 108 endef >> 109 endif
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.