1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# =========================================================================== 3*4882a593Smuzhiyun# Post-link MIPS pass 4*4882a593Smuzhiyun# =========================================================================== 5*4882a593Smuzhiyun# 6*4882a593Smuzhiyun# 1. Check that Loongson3 LL/SC workarounds are applied correctly 7*4882a593Smuzhiyun# 2. Insert relocations into vmlinux 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunPHONY := __archpost 10*4882a593Smuzhiyun__archpost: 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun-include include/config/auto.conf 13*4882a593Smuzhiyuninclude scripts/Kbuild.include 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunCMD_LS3_LLSC = arch/mips/tools/loongson3-llsc-check 16*4882a593Smuzhiyunquiet_cmd_ls3_llsc = LLSCCHK $@ 17*4882a593Smuzhiyun cmd_ls3_llsc = $(CMD_LS3_LLSC) $@ 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunCMD_RELOCS = arch/mips/boot/tools/relocs 20*4882a593Smuzhiyunquiet_cmd_relocs = RELOCS $@ 21*4882a593Smuzhiyun cmd_relocs = $(CMD_RELOCS) $@ 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun# `@true` prevents complaint when there is nothing to be done 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunvmlinux: FORCE 26*4882a593Smuzhiyun @true 27*4882a593Smuzhiyunifeq ($(CONFIG_CPU_LOONGSON3_WORKAROUNDS),y) 28*4882a593Smuzhiyun $(call if_changed,ls3_llsc) 29*4882a593Smuzhiyunendif 30*4882a593Smuzhiyunifeq ($(CONFIG_RELOCATABLE),y) 31*4882a593Smuzhiyun $(call if_changed,relocs) 32*4882a593Smuzhiyunendif 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun%.ko: FORCE 35*4882a593Smuzhiyun @true 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunclean: 38*4882a593Smuzhiyun @true 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunPHONY += FORCE clean 41*4882a593Smuzhiyun 42*4882a593SmuzhiyunFORCE: 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun.PHONY: $(PHONY) 45