Author: brooks
Date: Wed Jun 22 21:12:53 2016
New Revision: 302093
URL: https://svnweb.freebsd.org/changeset/base/302093

Log:
  Add support for COMPAT10 keywords in syscalls.master.
  
  Approved by:  re (gjb)
  Sponsored by: DARPA, AFRL

Modified:
  head/sys/kern/makesyscalls.sh

Modified: head/sys/kern/makesyscalls.sh
==============================================================================
--- head/sys/kern/makesyscalls.sh       Wed Jun 22 21:11:27 2016        
(r302092)
+++ head/sys/kern/makesyscalls.sh       Wed Jun 22 21:12:53 2016        
(r302093)
@@ -9,6 +9,7 @@ compat=COMPAT_43
 compat4=COMPAT_FREEBSD4
 compat6=COMPAT_FREEBSD6
 compat7=COMPAT_FREEBSD7
+compat10=COMPAT_FREEBSD10
 
 # output files:
 sysnames="syscalls.c"
@@ -33,6 +34,8 @@ syscompat6="sysent.compat6.$$"
 syscompat6dcl="sysent.compat6dcl.$$"
 syscompat7="sysent.compat7.$$"
 syscompat7dcl="sysent.compat7dcl.$$"
+syscompat10="sysent.compat10.$$"
+syscompat10dcl="sysent.compat10dcl.$$"
 sysent="sysent.switch.$$"
 sysinc="sysinc.switch.$$"
 sysarg="sysarg.switch.$$"
@@ -47,9 +50,9 @@ else
        capenabled=""
 fi
 
-trap "rm $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl 
$syscompat6 $syscompat6dcl $syscompat7 $syscompat7dcl $sysent $sysinc $sysarg 
$sysprotoend $systracetmp $systraceret" 0
+trap "rm $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl 
$syscompat6 $syscompat6dcl $syscompat7 $syscompat7dcl $syscompat10 
$syscompat10dcl $sysent $sysinc $sysarg $sysprotoend $systracetmp $systraceret" 0
 
-touch $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl 
$syscompat6 $syscompat6dcl $syscompat7 $syscompat7dcl $sysent $sysinc $sysarg 
$sysprotoend $systracetmp $systraceret
+touch $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl 
$syscompat6 $syscompat6dcl $syscompat7 $syscompat7dcl $syscompat10 
$syscompat10dcl $sysent $sysinc $sysarg $sysprotoend $systracetmp $systraceret
 
 case $# in
     0) echo "usage: $0 input-file <config-file>" 1>&2
@@ -88,6 +91,8 @@ s/\$//g
                syscompat6dcl = \"$syscompat6dcl\"
                syscompat7 = \"$syscompat7\"
                syscompat7dcl = \"$syscompat7dcl\"
+               syscompat10 = \"$syscompat10\"
+               syscompat10dcl = \"$syscompat10dcl\"
                sysent = \"$sysent\"
                syssw = \"$syssw\"
                sysinc = \"$sysinc\"
@@ -102,6 +107,7 @@ s/\$//g
                compat4 = \"$compat4\"
                compat6 = \"$compat6\"
                compat7 = \"$compat7\"
+               compat10 = \"$compat10\"
                syscallprefix = \"$syscallprefix\"
                switchname = \"$switchname\"
                namesname = \"$namesname\"
@@ -123,6 +129,7 @@ s/\$//g
                printf "\n#ifdef %s\n\n", compat4 > syscompat4
                printf "\n#ifdef %s\n\n", compat6 > syscompat6
                printf "\n#ifdef %s\n\n", compat7 > syscompat7
+               printf "\n#ifdef %s\n\n", compat10 > syscompat10
 
                printf "/*\n * System call names.\n *\n" > sysnames
                printf " * DO NOT EDIT-- this file is automatically 
generated.\n" > sysnames
@@ -206,6 +213,7 @@ s/\$//g
                print > syscompat4
                print > syscompat6
                print > syscompat7
+               print > syscompat10
                print > sysnames
                print > systrace
                print > systracetmp
@@ -221,6 +229,7 @@ s/\$//g
                print > syscompat4
                print > syscompat6
                print > syscompat7
+               print > syscompat10
                print > sysnames
                print > systrace
                print > systracetmp
@@ -236,6 +245,7 @@ s/\$//g
                print > syscompat4
                print > syscompat6
                print > syscompat7
+               print > syscompat10
                print > sysnames
                print > systrace
                print > systracetmp
@@ -342,6 +352,8 @@ s/\$//g
                                argalias = "freebsd6_" argalias
                        if (flag("COMPAT7"))
                                argalias = "freebsd7_" argalias
+                       if (flag("COMPAT10"))
+                               argalias = "freebsd10_" argalias
                }
                f++
 
@@ -493,7 +505,7 @@ s/\$//g
                next
        }
        type("COMPAT") || type("COMPAT4") || type("COMPAT6") || \
-           type("COMPAT7") {
+           type("COMPAT7") || type("COMPAT10") {
                if (flag("COMPAT")) {
                        ncompat++
                        out = syscompat
@@ -522,6 +534,13 @@ s/\$//g
                        wrap = "compat7"
                        prefix = "freebsd7_"
                        descr = "freebsd7"
+               } else if (flag("COMPAT10")) {
+                       ncompat10++
+                       out = syscompat10
+                       outdcl = syscompat10dcl
+                       wrap = "compat10"
+                       prefix = "freebsd10_"
+                       descr = "freebsd10"
                }
                parseline()
                if (argc != 0 && !flag("NOARGS") && !flag("NOPROTO") && \
@@ -559,7 +578,8 @@ s/\$//g
                printf("/* %d = %s %s */\n", syscall, descr, funcalias) > sysent
                printf("\t\"%s.%s\",\t\t/* %d = %s %s */\n",
                    wrap, funcalias, syscall, descr, funcalias) > sysnames
-               if (flag("COMPAT") || flag("COMPAT4") || flag("COMPAT6")) {
+               # XXX-BD: why no COMPAT7?
+               if (flag("COMPAT") || flag("COMPAT4") || flag("COMPAT6") || 
flag("COMPAT10")) {
                        printf("\t\t\t\t/* %d is %s %s */\n",
                            syscall, descr, funcalias) > syshdr
                } else if (!flag("NODEF")) {
@@ -596,7 +616,7 @@ s/\$//g
        END {
                printf "\n#define AS(name) (sizeof(struct name) / 
sizeof(register_t))\n" > sysinc
 
-               if (ncompat != 0 || ncompat4 != 0 || ncompat6 != 0 || ncompat7 
!= 0)
+               if (ncompat != 0 || ncompat4 != 0 || ncompat6 != 0 || ncompat7 
!= 0 || ncompat10 != 0)
                        printf "#include \"opt_compat.h\"\n\n" > syssw
 
                if (ncompat != 0) {
@@ -630,11 +650,18 @@ s/\$//g
                        printf "#define compat7(n, name) 0, (sy_call_t 
*)nosys\n" > sysinc
                        printf "#endif\n" > sysinc
                }
-
+               if (ncompat10 != 0) {
+                       printf "\n#ifdef %s\n", compat10 > sysinc
+                       printf "#define compat10(n, name) n, (sy_call_t 
*)__CONCAT(freebsd10_,name)\n" > sysinc
+                       printf "#else\n" > sysinc
+                       printf "#define compat10(n, name) 0, (sy_call_t 
*)nosys\n" > sysinc
+                       printf "#endif\n" > sysinc
+               }
                printf("\n#endif /* %s */\n\n", compat) > syscompatdcl
                printf("\n#endif /* %s */\n\n", compat4) > syscompat4dcl
                printf("\n#endif /* %s */\n\n", compat6) > syscompat6dcl
                printf("\n#endif /* %s */\n\n", compat7) > syscompat7dcl
+               printf("\n#endif /* %s */\n\n", compat10) > syscompat10dcl
 
                printf("\n#undef PAD_\n") > sysprotoend
                printf("#undef PADL_\n") > sysprotoend
@@ -657,6 +684,7 @@ cat $sysarg $sysdcl \
        $syscompat4 $syscompat4dcl \
        $syscompat6 $syscompat6dcl \
        $syscompat7 $syscompat7dcl \
+       $syscompat10 $syscompat10dcl \
        $sysaue $sysprotoend > $sysproto
 cat $systracetmp >> $systrace
 cat $systraceret >> $systrace
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to