Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools: arm64: Add a Makefile for generating sysreg-defs.h

Use a common Makefile for generating sysreg-defs.h, which will soon be
needed by perf and KVM selftests. The naming scheme of the generated
macros is not expected to change, so just refer to the canonical
script/data in the kernel source rather than copying to tools.

Co-developed-by: Jing Zhang <jingzhangos@google.com>
Signed-off-by: Jing Zhang <jingzhangos@google.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20231011195740.3349631-2-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>

+39
+1
tools/arch/arm64/include/.gitignore
··· 1 + generated/
+38
tools/arch/arm64/tools/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + 3 + ifeq ($(srctree),) 4 + srctree := $(patsubst %/,%,$(dir $(CURDIR))) 5 + srctree := $(patsubst %/,%,$(dir $(srctree))) 6 + srctree := $(patsubst %/,%,$(dir $(srctree))) 7 + srctree := $(patsubst %/,%,$(dir $(srctree))) 8 + endif 9 + 10 + include $(srctree)/tools/scripts/Makefile.include 11 + 12 + AWK ?= awk 13 + MKDIR ?= mkdir 14 + RM ?= rm 15 + 16 + ifeq ($(V),1) 17 + Q = 18 + else 19 + Q = @ 20 + endif 21 + 22 + arm64_tools_dir = $(srctree)/arch/arm64/tools 23 + arm64_sysreg_tbl = $(arm64_tools_dir)/sysreg 24 + arm64_gen_sysreg = $(arm64_tools_dir)/gen-sysreg.awk 25 + arm64_generated_dir = $(srctree)/tools/arch/arm64/include/generated 26 + arm64_sysreg_defs = $(arm64_generated_dir)/asm/sysreg-defs.h 27 + 28 + all: $(arm64_sysreg_defs) 29 + @: 30 + 31 + $(arm64_sysreg_defs): $(arm64_gen_sysreg) $(arm64_sysreg_tbl) 32 + $(Q)$(MKDIR) -p $(dir $@) 33 + $(QUIET_GEN)$(AWK) -f $^ > $@ 34 + 35 + clean: 36 + $(Q)$(RM) -rf $(arm64_generated_dir) 37 + 38 + .PHONY: all clean