xref: /linux/arch/arm64/tools/gen-kernel-hwcaps.sh (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1*abed23c3SMark Brown#!/bin/sh -e
2*abed23c3SMark Brown# SPDX-License-Identifier: GPL-2.0
3*abed23c3SMark Brown#
4*abed23c3SMark Brown# gen-kernel-hwcap.sh - Generate kernel internal hwcap.h definitions
5*abed23c3SMark Brown#
6*abed23c3SMark Brown# Copyright 2026 Arm, Ltd.
7*abed23c3SMark Brown
8*abed23c3SMark Brownif [ "$1" = "" ]; then
9*abed23c3SMark Brown	echo "$0: no filename specified"
10*abed23c3SMark Brown	exit 1
11*abed23c3SMark Brownfi
12*abed23c3SMark Brown
13*abed23c3SMark Brownecho "#ifndef __ASM_KERNEL_HWCAPS_H"
14*abed23c3SMark Brownecho "#define __ASM_KERNEL_HWCAPS_H"
15*abed23c3SMark Brownecho ""
16*abed23c3SMark Brownecho "/* Generated file - do not edit */"
17*abed23c3SMark Brownecho ""
18*abed23c3SMark Brown
19*abed23c3SMark Browngrep -E '^#define HWCAP[0-9]*_[A-Z0-9_]+' $1 | \
20*abed23c3SMark Brown	sed 's/.*HWCAP\([0-9]*\)_\([A-Z0-9_]\+\).*/#define KERNEL_HWCAP_\2\t__khwcap\1_feature(\2)/'
21*abed23c3SMark Brown
22*abed23c3SMark Brownecho ""
23*abed23c3SMark Brownecho "#endif /* __ASM_KERNEL_HWCAPS_H */"
24