Loading...
Note: File does not exist in v6.2.
1#!/bin/bash
2# SPDX-License-Identifier: GPL-2.0
3
4in="$1"
5out="$2"
6
7syscall_macro() {
8 local abi="$1"
9 local nr="$2"
10 local entry="$3"
11
12 echo "__SYSCALL_${abi}($nr, $entry)"
13}
14
15emit() {
16 local abi="$1"
17 local nr="$2"
18 local entry="$3"
19 local compat="$4"
20
21 if [ "$abi" != "I386" -a -n "$compat" ]; then
22 echo "a compat entry ($abi: $compat) for a 64-bit syscall makes no sense" >&2
23 exit 1
24 fi
25
26 if [ -z "$compat" ]; then
27 if [ -n "$entry" ]; then
28 syscall_macro "$abi" "$nr" "$entry"
29 fi
30 else
31 echo "#ifdef CONFIG_X86_32"
32 if [ -n "$entry" ]; then
33 syscall_macro "$abi" "$nr" "$entry"
34 fi
35 echo "#else"
36 syscall_macro "$abi" "$nr" "$compat"
37 echo "#endif"
38 fi
39}
40
41grep '^[0-9]' "$in" | sort -n | (
42 while read nr abi name entry compat; do
43 abi=`echo "$abi" | tr '[a-z]' '[A-Z]'`
44 emit "$abi" "$nr" "$entry" "$compat"
45 done
46) > "$out"