Skip to content

Commit

Permalink
s390/tools: generate header files in arch/s390/include/generated/
Browse files Browse the repository at this point in the history
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 <[email protected]>
Acked-by: Heiko Carstens <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
  • Loading branch information
hbrueckner authored and Martin Schwidefsky committed Jan 23, 2018
1 parent 4381f9f commit 7fbf831
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 14 deletions.
3 changes: 1 addition & 2 deletions arch/s390/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions arch/s390/include/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -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

Expand Down
2 changes: 1 addition & 1 deletion arch/s390/include/asm/dis.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down
2 changes: 1 addition & 1 deletion arch/s390/include/asm/facility.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
23 changes: 17 additions & 6 deletions arch/s390/tools/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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)
4 changes: 2 additions & 2 deletions arch/s390/tools/gen_facilities.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
4 changes: 2 additions & 2 deletions arch/s390/tools/gen_opcode_table.c
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down

0 comments on commit 7fbf831

Please sign in to comment.