cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

syscalltbl.sh (631B)


      1#!/bin/sh
      2# SPDX-License-Identifier: GPL-2.0
      3
      4in="$1"
      5arch="$2"
      6
      7syscall_macro() {
      8    nr="$1"
      9    name="$2"
     10
     11    echo "	[$nr] = \"$name\","
     12}
     13
     14emit() {
     15    nr="$1"
     16    entry="$2"
     17
     18    syscall_macro "$nr" "$entry"
     19}
     20
     21echo "static const char *syscalltbl_${arch}[] = {"
     22
     23sorted_table=$(mktemp /tmp/syscalltbl.XXXXXX)
     24grep '^[0-9]' "$in" | sort -n > $sorted_table
     25
     26max_nr=0
     27while read nr abi name entry compat; do
     28    if [ $nr -ge 512 ] ; then # discard compat sycalls
     29        break
     30    fi
     31
     32    emit "$nr" "$name"
     33    max_nr=$nr
     34done < $sorted_table
     35
     36rm -f $sorted_table
     37
     38echo "};"
     39
     40echo "#define SYSCALLTBL_${arch}_MAX_ID ${max_nr}"