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>
This commit is contained in:
Родитель
4381f9f12e
Коммит
7fbf8315fb
|
@ -138,8 +138,7 @@ archheaders:
|
|||
|
||||
archprepare:
|
||||
$(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
|
||||
define archhelp
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
generated-y += dis-defs.h
|
||||
generated-y += facility-defs.h
|
||||
generated-y += syscall_table.h
|
||||
generated-y += unistd_nr.h
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#ifndef __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)
|
||||
{
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#ifndef __ASM_FACILITY_H
|
||||
#define __ASM_FACILITY_H
|
||||
|
||||
#include <generated/facilities.h>
|
||||
#include <asm/facility-defs.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/preempt.h>
|
||||
#include <asm/lowcore.h>
|
||||
|
|
|
@ -3,22 +3,33 @@
|
|||
# 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_opcode_table
|
||||
|
||||
HOSTCFLAGS_gen_facilities.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
|
||||
endef
|
||||
|
||||
define filechk_dis.h
|
||||
define filechk_dis-defs.h
|
||||
( $(obj)/gen_opcode_table < $(srctree)/arch/$(ARCH)/tools/opcodes.txt )
|
||||
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)
|
||||
|
|
|
@ -128,8 +128,8 @@ static void print_facility_lists(void)
|
|||
|
||||
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(" * DO NOT MODIFY.\n");
|
||||
printf(" *\n");
|
||||
|
|
|
@ -321,8 +321,8 @@ int main(int argc, char **argv)
|
|||
struct gen_opcode *desc = &_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(" * DO NOT MODIFY.\n");
|
||||
printf(" *\n");
|
||||
|
|
Загрузка…
Ссылка в новой задаче