Home | History | Annotate | Line # | Download | only in amdgpu
amdgpu2netbsd revision 1.4.10.1
      1       1.1  riastrad #!/bin/sh
      2       1.1  riastrad 
      3  1.4.10.1  perseant #	$NetBSD: amdgpu2netbsd,v 1.4.10.1 2025/08/02 05:57:31 perseant Exp $
      4       1.1  riastrad #
      5       1.1  riastrad # $ /path/to/amdgpu2netbsd > /path/to/files.amdgpu.new
      6       1.1  riastrad #
      7  1.4.10.1  perseant # Run from the top-level dist/drm/amd/amdgpu source directory, ideally
      8       1.2  riastrad # before import.
      9       1.1  riastrad 
     10       1.1  riastrad set -Ceu
     11       1.1  riastrad 
     12       1.4  riastrad : ${GMAKE:=gmake}
     13       1.2  riastrad : ${MV:=mv}
     14       1.2  riastrad 
     15       1.2  riastrad # Location of amdgpu sources relative to $NETBSDSOURCEDIR.
     16       1.1  riastrad amdgpu_top=external/bsd/drm2/dist/drm/amd/amdgpu
     17       1.1  riastrad 
     18       1.1  riastrad # config(5) flag for the amdgpu driver.
     19       1.1  riastrad amdgpu_flag=amdgpu
     20       1.1  riastrad 
     21       1.4  riastrad {
     22       1.4  riastrad 	printf 'show-amdgpu-y:\n'
     23       1.4  riastrad 	printf '\t@echo $(amdgpu-y)\n'
     24       1.4  riastrad 	printf 'include Makefile\n'
     25       1.4  riastrad } | env \
     26       1.4  riastrad 	env CONFIG_ACPI=y \
     27  1.4.10.1  perseant 	env CONFIG_COMPAT=y \
     28       1.4  riastrad 	env CONFIG_DRM_AMDGPU=y \
     29       1.4  riastrad 	env CONFIG_DRM_AMDGPU_CIK=y \
     30       1.4  riastrad 	env CONFIG_DRM_AMDGPU_SI=y \
     31       1.4  riastrad 	env CONFIG_DRM_AMD_ACP=y \
     32       1.4  riastrad 	env CONFIG_DRM_AMD_DC=y \
     33  1.4.10.1  perseant 	env CONFIG_DRM_AMD_DC_FP=y \
     34       1.4  riastrad 	env CONFIG_DRM_AMD_DC_HDCP=y \
     35  1.4.10.1  perseant 	env CONFIG_DRM_AMD_DC_SI=y \
     36  1.4.10.1  perseant 	env CONFIG_HMM_MIRROR=y \
     37  1.4.10.1  perseant 	env CONFIG_HSA_AMD=y \
     38  1.4.10.1  perseant 	env CONFIG_HSA_AMD_SVM=y \
     39  1.4.10.1  perseant 	env CONFIG_PERF_EVENTS=y \
     40  1.4.10.1  perseant 	env CONFIG_VGA_SWITCHEROO=y \
     41       1.4  riastrad 	env srctree="`pwd`" \
     42       1.4  riastrad 	env src=. \
     43       1.4  riastrad 	${GMAKE} -f - -s show-amdgpu-y \
     44       1.1  riastrad | tr ' ' '\n' \
     45       1.1  riastrad | grep -v '^$' \
     46       1.1  riastrad | sed -e 's,\.o$,.c,' \
     47       1.1  riastrad | sort -u \
     48       1.2  riastrad | awk '
     49       1.2  riastrad 	BEGIN {
     50       1.2  riastrad 		duplicates = 0
     51       1.2  riastrad 	}
     52       1.2  riastrad 	{
     53       1.2  riastrad 		if (index($1, "/")) {
     54       1.2  riastrad 			dir = $1
     55       1.2  riastrad 			sub("/[^/]*$", "/", dir)
     56       1.2  riastrad 			base = $1
     57       1.2  riastrad 			sub("^.*/", "", base)
     58       1.2  riastrad 		} else {
     59       1.2  riastrad 			dir = ""
     60       1.2  riastrad 			base = $1
     61       1.2  riastrad 		}
     62       1.2  riastrad 		fqbase = (base ~ "^amdgpu_" ? "" : "amdgpu_") base
     63       1.2  riastrad 		if (seen[fqbase]) {
     64       1.2  riastrad 			printf("Duplicate basename: %s %s\n", fqbase,
     65       1.2  riastrad 			    seen[fqbase]) >"/dev/stderr"
     66       1.2  riastrad 			duplicates = 1
     67       1.2  riastrad 		}
     68       1.2  riastrad 		if (duplicates)
     69       1.2  riastrad 			next
     70       1.2  riastrad 		printf("%s %s\n", $1, dir fqbase)
     71       1.2  riastrad 	}
     72       1.2  riastrad 	END {
     73       1.2  riastrad 		if (duplicates) {
     74       1.2  riastrad 			printf("Time to rewite me!\n") > "/dev/stderr"
     75       1.2  riastrad 			exit 1
     76       1.2  riastrad 		}
     77       1.2  riastrad 	}
     78       1.2  riastrad ' \
     79       1.2  riastrad | while read from to; do
     80       1.3  riastrad 	# If the move already happened, that's fine: the makefile
     81       1.3  riastrad 	# detects duplicates.
     82       1.3  riastrad 	if [ "x$from" != "x$to" -a \! -f "$to" ]; then
     83       1.2  riastrad 		${MV} -f -- "$from" "$to"
     84       1.2  riastrad 	fi
     85       1.2  riastrad 	printf 'file\t%s\t%s\n' "$amdgpu_top/$to" "$amdgpu_flag"
     86       1.2  riastrad done \
     87       1.2  riastrad | sort -u
     88