Commit bb2d78b0 authored by Pavel Emelyanov's avatar Pavel Emelyanov

x86: Teach syscall table generating script accept argument

We'll have to generate syscall table in another form,
prepare for it
.
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent d7259d86
......@@ -17,7 +17,7 @@ CFLAGS += -c -fpie -Wstrict-prototypes -Wa,--noexecstack -D__ASSEMBLY__ -nostdl
$(SYS-ASM): $(SYS-GEN) $(SYS-DEF) $(SYS-ASM-COMMON) $(SYS-TYPES)
$(E) " GEN " $@
$(Q) $(SH) \
$(SYS-GEN) \
$(SYS-GEN) --asm \
$(SYS-DEF) \
$(SYS-CODES) \
$(SYS-PROTO) \
......
#!/bin/sh
in=$1
codesout=$2
protosout=$3
asmout=$4
asmcommon=$5
prototypes=`echo $6 | sed -e 's/.*include\///g'`
codesdef=`echo $codesout | sed -e 's/.*\/include\///g' | tr "[[:space:]].-" _`
protosdef=`echo $protosout | sed -e 's/.*\/include\///g' | tr "[[:space:]].-" _`
echo "/* Autogenerated, don't edit */" > $codesout
echo "#ifndef $codesdef" >> $codesout
echo "#define $codesdef" >> $codesout
echo "/* Autogenerated, don't edit */" > $protosout
echo "#ifndef $protosdef" >> $protosout
echo "#define $protosdef" >> $protosout
echo "#include \"$prototypes\"" >> $protosout
echo "#include \"$codesout\"" >> $protosout
echo "/* Autogenerated, don't edit */" > $asmout
echo "#include \"$codesout\"" >> $asmout
echo "#include \"$asmcommon\"" >> $asmout
cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "#define", $1, $2}' >> $codesout
cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "extern long ", $3, $4, ";"}' >> $protosout
cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "SYSCALL(", $3, ",", $2, ")"}' >> $asmout
echo "#endif /* $codesdef */" >> $codesout
echo "#endif /* $protosdef */" >> $protosout
function gen_asm() {
in=$1
codesout=$2
protosout=$3
asmout=$4
asmcommon=$5
prototypes=`echo $6 | sed -e 's/.*include\///g'`
codesdef=`echo $codesout | sed -e 's/.*\/include\///g' | tr "[[:space:]].-" _`
protosdef=`echo $protosout | sed -e 's/.*\/include\///g' | tr "[[:space:]].-" _`
echo "/* Autogenerated, don't edit */" > $codesout
echo "#ifndef $codesdef" >> $codesout
echo "#define $codesdef" >> $codesout
echo "/* Autogenerated, don't edit */" > $protosout
echo "#ifndef $protosdef" >> $protosout
echo "#define $protosdef" >> $protosout
echo "#include \"$prototypes\"" >> $protosout
echo "#include \"$codesout\"" >> $protosout
echo "/* Autogenerated, don't edit */" > $asmout
echo "#include \"$codesout\"" >> $asmout
echo "#include \"$asmcommon\"" >> $asmout
cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "#define", $1, $2}' >> $codesout
cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "extern long ", $3, $4, ";"}' >> $protosout
cat $in | egrep -v '^#' | sed -e 's/\t\{1,\}/|/g' | awk -F '|' '{print "SYSCALL(", $3, ",", $2, ")"}' >> $asmout
echo "#endif /* $codesdef */" >> $codesout
echo "#endif /* $protosdef */" >> $protosout
}
if [ "$1" = "--asm" ]; then
shift
gen_asm $@
fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment