forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/arch/parisc/Makefile
....@@ -24,12 +24,8 @@
2424 KBUILD_IMAGE := vmlinuz
2525 endif
2626
27
-KBUILD_DEFCONFIG := default_defconfig
28
-
2927 NM = sh $(srctree)/arch/parisc/nm
3028 CHECKFLAGS += -D__hppa__=1
31
-LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
32
-export LIBGCC
3329
3430 ifdef CONFIG_64BIT
3531 UTS_MACHINE := parisc64
....@@ -41,6 +37,13 @@
4137 LD_BFD := elf32-hppa-linux
4238 endif
4339
40
+# select defconfig based on actual architecture
41
+ifeq ($(shell uname -m),parisc64)
42
+ KBUILD_DEFCONFIG := generic-64bit_defconfig
43
+else
44
+ KBUILD_DEFCONFIG := generic-32bit_defconfig
45
+endif
46
+
4447 export LD_BFD
4548
4649 ifneq ($(SUBARCH),$(UTS_MACHINE))
....@@ -50,6 +53,23 @@
5053 $(foreach a,$(CC_ARCHES), \
5154 $(foreach s,$(CC_SUFFIXES),$(a)-$(s)-)))
5255 endif
56
+endif
57
+
58
+ifdef CONFIG_DYNAMIC_FTRACE
59
+ifdef CONFIG_64BIT
60
+NOP_COUNT := 8
61
+else
62
+NOP_COUNT := 5
63
+endif
64
+
65
+export CC_USING_RECORD_MCOUNT:=1
66
+export CC_USING_PATCHABLE_FUNCTION_ENTRY:=1
67
+
68
+KBUILD_AFLAGS += -DCC_USING_PATCHABLE_FUNCTION_ENTRY=1
69
+KBUILD_CFLAGS += -DCC_USING_PATCHABLE_FUNCTION_ENTRY=1 \
70
+ -DFTRACE_PATCHABLE_FUNCTION_SIZE=$(NOP_COUNT)
71
+
72
+CC_FLAGS_FTRACE := -fpatchable-function-entry=$(NOP_COUNT),$(shell echo $$(($(NOP_COUNT)-1)))
5373 endif
5474
5575 OBJCOPY_FLAGS =-O binary -R .note -R .comment -S
....@@ -93,6 +113,8 @@
93113 head-y := arch/parisc/kernel/head.o
94114
95115 KBUILD_CFLAGS += $(cflags-y)
116
+LIBGCC := $(shell $(CC) -print-libgcc-file-name)
117
+export LIBGCC
96118
97119 kernel-y := mm/ kernel/ math-emu/
98120
....@@ -107,8 +129,8 @@
107129 elif [ -x /sbin/palo ]; then echo /sbin/palo; \
108130 fi)
109131
110
-PALOCONF := $(shell if [ -f $(src)/palo.conf ]; then echo $(src)/palo.conf; \
111
- else echo $(obj)/palo.conf; \
132
+PALOCONF := $(shell if [ -f $(srctree)/palo.conf ]; then echo $(srctree)/palo.conf; \
133
+ else echo $(objtree)/palo.conf; \
112134 fi)
113135
114136 palo lifimage: vmlinuz
....@@ -118,8 +140,8 @@
118140 false; \
119141 fi
120142 @if test ! -f "$(PALOCONF)"; then \
121
- cp $(src)/arch/parisc/defpalo.conf $(obj)/palo.conf; \
122
- echo 'A generic palo config file ($(obj)/palo.conf) has been created for you.'; \
143
+ cp $(srctree)/arch/parisc/defpalo.conf $(objtree)/palo.conf; \
144
+ echo 'A generic palo config file ($(objree)/palo.conf) has been created for you.'; \
123145 echo 'You should check it and re-run "make palo".'; \
124146 echo 'WARNING: the "lifimage" file is now placed in this directory by default!'; \
125147 false; \
....@@ -145,14 +167,14 @@
145167 $(OBJCOPY) $(boot)/bzImage $@
146168 else
147169 vmlinuz: vmlinux
148
- @gzip -cf -9 $< > $@
170
+ @$(KGZIP) -cf -9 $< > $@
149171 endif
150172
151173 install:
152
- $(CONFIG_SHELL) $(src)/arch/parisc/install.sh \
174
+ $(CONFIG_SHELL) $(srctree)/arch/parisc/install.sh \
153175 $(KERNELRELEASE) vmlinux System.map "$(INSTALL_PATH)"
154176 zinstall:
155
- $(CONFIG_SHELL) $(src)/arch/parisc/install.sh \
177
+ $(CONFIG_SHELL) $(srctree)/arch/parisc/install.sh \
156178 $(KERNELRELEASE) vmlinuz System.map "$(INSTALL_PATH)"
157179
158180 CLEAN_FILES += lifimage
....@@ -169,11 +191,8 @@
169191 @echo ' zinstall - Install compressed vmlinuz kernel'
170192 endef
171193
172
-# we require gcc 3.3 or above to compile the kernel
173
-archprepare: checkbin
174
-checkbin:
175
- @if test "$(cc-version)" -lt "0303"; then \
176
- echo -n "Sorry, GCC v3.3 or above is required to build " ; \
177
- echo "the kernel." ; \
178
- false ; \
179
- fi
194
+archclean:
195
+ $(Q)$(MAKE) $(clean)=$(boot)
196
+
197
+archheaders:
198
+ $(Q)$(MAKE) $(build)=arch/parisc/kernel/syscalls all