Эх сурвалжийг харах

s390/tools: generate header files in arch/s390/include/generated/

Previously, the generated dis.h and facilities.h header files have been
stored in include/generated.  Because they are s390 specific, store them
in the arch/s390/include/generated/asm/ directory.  Also update
references to the header files respectively.

To prevent name collisions with those header files in asm/ that
include the generated ones, rename the generated headers files
and add an -defs suffix.  Also update the generators to create
the ifdef guards respectively.

Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Hendrik Brueckner 7 жил өмнө
parent
commit
7fbf8315fb

+ 1 - 2
arch/s390/Makefile

@@ -138,8 +138,7 @@ archheaders:
 
 
 archprepare:
 archprepare:
 	$(Q)$(MAKE) $(build)=$(syscalls) kapi
 	$(Q)$(MAKE) $(build)=$(syscalls) kapi
-	$(Q)$(MAKE) $(build)=$(tools) include/generated/facilities.h
-	$(Q)$(MAKE) $(build)=$(tools) include/generated/dis.h
+	$(Q)$(MAKE) $(build)=$(tools) kapi
 
 
 # Don't use tabs in echo arguments
 # Don't use tabs in echo arguments
 define archhelp
 define archhelp

+ 2 - 0
arch/s390/include/asm/Kbuild

@@ -1,4 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0
 # SPDX-License-Identifier: GPL-2.0
+generated-y += dis-defs.h
+generated-y += facility-defs.h
 generated-y += syscall_table.h
 generated-y += syscall_table.h
 generated-y += unistd_nr.h
 generated-y += unistd_nr.h
 
 

+ 1 - 1
arch/s390/include/asm/dis.h

@@ -9,7 +9,7 @@
 #ifndef __ASM_S390_DIS_H__
 #ifndef __ASM_S390_DIS_H__
 #define __ASM_S390_DIS_H__
 #define __ASM_S390_DIS_H__
 
 
-#include <generated/dis.h>
+#include <asm/dis-defs.h>
 
 
 static inline int insn_length(unsigned char code)
 static inline int insn_length(unsigned char code)
 {
 {

+ 1 - 1
arch/s390/include/asm/facility.h

@@ -8,7 +8,7 @@
 #ifndef __ASM_FACILITY_H
 #ifndef __ASM_FACILITY_H
 #define __ASM_FACILITY_H
 #define __ASM_FACILITY_H
 
 
-#include <generated/facilities.h>
+#include <asm/facility-defs.h>
 #include <linux/string.h>
 #include <linux/string.h>
 #include <linux/preempt.h>
 #include <linux/preempt.h>
 #include <asm/lowcore.h>
 #include <asm/lowcore.h>

+ 17 - 6
arch/s390/tools/Makefile

@@ -3,22 +3,33 @@
 # Makefile for s390 specific build tools
 # Makefile for s390 specific build tools
 #
 #
 
 
+kapi := arch/$(ARCH)/include/generated/asm
+kapi-hdrs-y := $(kapi)/facility-defs.h $(kapi)/dis-defs.h
+
+targets += $(addprefix ../../../,$(kapi-hdrs-y))
+PHONY += kapi
+
+kapi:	$(kapi-hdrs-y)
+
 hostprogs-y		    += gen_facilities
 hostprogs-y		    += gen_facilities
 hostprogs-y		    += gen_opcode_table
 hostprogs-y		    += gen_opcode_table
 
 
 HOSTCFLAGS_gen_facilities.o += -Wall $(LINUXINCLUDE)
 HOSTCFLAGS_gen_facilities.o += -Wall $(LINUXINCLUDE)
 HOSTCFLAGS_gen_opcode_table.o += -Wall $(LINUXINCLUDE)
 HOSTCFLAGS_gen_opcode_table.o += -Wall $(LINUXINCLUDE)
 
 
-define filechk_facilities.h
+# Ensure output directory exists
+_dummy := $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)')
+
+define filechk_facility-defs.h
 	$(obj)/gen_facilities
 	$(obj)/gen_facilities
 endef
 endef
 
 
-define filechk_dis.h
+define filechk_dis-defs.h
 	( $(obj)/gen_opcode_table < $(srctree)/arch/$(ARCH)/tools/opcodes.txt )
 	( $(obj)/gen_opcode_table < $(srctree)/arch/$(ARCH)/tools/opcodes.txt )
 endef
 endef
 
 
-include/generated/facilities.h: $(obj)/gen_facilities FORCE
-	$(call filechk,facilities.h)
+$(kapi)/facility-defs.h: $(obj)/gen_facilities FORCE
+	$(call filechk,facility-defs.h)
 
 
-include/generated/dis.h: $(obj)/gen_opcode_table FORCE
-	$(call filechk,dis.h)
+$(kapi)/dis-defs.h: $(obj)/gen_opcode_table FORCE
+	$(call filechk,dis-defs.h)

+ 2 - 2
arch/s390/tools/gen_facilities.c

@@ -128,8 +128,8 @@ static void print_facility_lists(void)
 
 
 int main(int argc, char **argv)
 int main(int argc, char **argv)
 {
 {
-	printf("#ifndef __ASM_S390_FACILITIES__\n");
-	printf("#define __ASM_S390_FACILITIES__\n");
+	printf("#ifndef __ASM_S390_FACILITY_DEFS__\n");
+	printf("#define __ASM_S390_FACILITY_DEFS__\n");
 	printf("/*\n");
 	printf("/*\n");
 	printf(" * DO NOT MODIFY.\n");
 	printf(" * DO NOT MODIFY.\n");
 	printf(" *\n");
 	printf(" *\n");

+ 2 - 2
arch/s390/tools/gen_opcode_table.c

@@ -321,8 +321,8 @@ int main(int argc, char **argv)
 	struct gen_opcode *desc = &_desc;
 	struct gen_opcode *desc = &_desc;
 
 
 	read_instructions(desc);
 	read_instructions(desc);
-	printf("#ifndef __S390_GENERATED_DIS_H__\n");
-	printf("#define __S390_GENERATED_DIS_H__\n");
+	printf("#ifndef __S390_GENERATED_DIS_DEFS_H__\n");
+	printf("#define __S390_GENERATED_DIS_DEFS_H__\n");
 	printf("/*\n");
 	printf("/*\n");
 	printf(" * DO NOT MODIFY.\n");
 	printf(" * DO NOT MODIFY.\n");
 	printf(" *\n");
 	printf(" *\n");