]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: Generate cpucaps.h
authorMark Brown <broonie@kernel.org>
Wed, 28 Apr 2021 12:12:31 +0000 (13:12 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 10 May 2021 09:16:37 +0000 (10:16 +0100)
commit09c756b32b6cd367593fd5edfc136dd240ca0151
tree70b7a7cdc42436fe72e88e7c3296d353d7e383dd
parent9fb51bb203ba1c67f480638e9d0605db59810687
arm64: Generate cpucaps.h

The arm64 code allocates an internal constant to every CPU feature it can
detect, distinct from the public hwcap numbers we use to expose some
features to userspace. Currently this is maintained manually which is an
irritating source of conflicts when working on new features, to avoid this
replace the header with a simple text file listing the names we've assigned
and sort it to minimise conflicts.

As part of doing this we also do the Kbuild hookup required to hook up
an arch tools directory and to generate header files in there.

This will result in a renumbering and reordering of the existing constants,
since they are all internal only the values should not be important. The
reordering will impact the order in which some steps in enumeration handle
features but the algorithm is not intended to depend on this and I haven't
seen any issues when testing. Due to the UAO cpucap having been removed in
the past we end up with ARM64_NCAPS being 1 smaller than it was before.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210428121231.11219-1-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Makefile
arch/arm64/include/asm/Kbuild
arch/arm64/include/asm/cpucaps.h [deleted file]
arch/arm64/tools/Makefile [new file with mode: 0644]
arch/arm64/tools/cpucaps [new file with mode: 0644]
arch/arm64/tools/gen-cpucaps.awk [new file with mode: 0755]