1ddf0c4cdSLaurent Vivier#!/bin/sh 2*06e23296SPhilippe Mathieu-Daudé# SPDX-License-Identifier: GPL-2.0-only 3ddf0c4cdSLaurent Vivier 4ddf0c4cdSLaurent Vivierin="$1" 5ddf0c4cdSLaurent Vivierout="$2" 6ddf0c4cdSLaurent Viviermy_abis=`echo "($3)" | tr ',' '|'` 7ddf0c4cdSLaurent Vivierprefix="$4" 8ddf0c4cdSLaurent Vivieroffset="$5" 9ddf0c4cdSLaurent Vivier 10ddf0c4cdSLaurent Vivierfileguard=LINUX_USER_MICROBLAZE_`basename "$out" | sed \ 11ddf0c4cdSLaurent Vivier -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ 12ddf0c4cdSLaurent Vivier -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` 13ddf0c4cdSLaurent Viviergrep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | ( 14ddf0c4cdSLaurent Vivier printf "#ifndef %s\n" "${fileguard}" 15ddf0c4cdSLaurent Vivier printf "#define %s\n" "${fileguard}" 16ddf0c4cdSLaurent Vivier printf "\n" 17ddf0c4cdSLaurent Vivier 18ddf0c4cdSLaurent Vivier nxt=0 19ddf0c4cdSLaurent Vivier while read nr abi name entry ; do 20ddf0c4cdSLaurent Vivier if [ -z "$offset" ]; then 21ddf0c4cdSLaurent Vivier printf "#define TARGET_NR_%s%s\t%s\n" \ 22ddf0c4cdSLaurent Vivier "${prefix}" "${name}" "${nr}" 23ddf0c4cdSLaurent Vivier else 24ddf0c4cdSLaurent Vivier printf "#define TARGET_NR_%s%s\t(%s + %s)\n" \ 25ddf0c4cdSLaurent Vivier "${prefix}" "${name}" "${offset}" "${nr}" 26ddf0c4cdSLaurent Vivier fi 27ddf0c4cdSLaurent Vivier nxt=$((nr+1)) 28ddf0c4cdSLaurent Vivier done 29ddf0c4cdSLaurent Vivier 30ddf0c4cdSLaurent Vivier printf "\n" 31ddf0c4cdSLaurent Vivier printf "#endif /* %s */" "${fileguard}" 32ddf0c4cdSLaurent Vivier) > "$out" 33