Author: trasz
Date: Fri Sep 25 09:34:00 2020
New Revision: 366145
URL: https://svnweb.freebsd.org/changeset/base/366145

Log:
  Make makesyscalls.lua initialize 'struct sysent' entries using c99
  designated initializers.  This makes it easier to modify 'struct sysent'
  layout.
  
  Reviewed by:  kevans
  Sponsored by: DARPA
  Differential Revision:        https://reviews.freebsd.org/D26530

Modified:
  head/sys/tools/makesyscalls.lua

Modified: head/sys/tools/makesyscalls.lua
==============================================================================
--- head/sys/tools/makesyscalls.lua     Fri Sep 25 07:55:08 2020        
(r366144)
+++ head/sys/tools/makesyscalls.lua     Fri Sep 25 09:34:00 2020        
(r366145)
@@ -740,12 +740,14 @@ local function handle_noncompat(sysnum, thr_flag, flag
                    config['syscallprefix'], funcalias, auditev))
        end
 
-       write_line("sysent", string.format("\t{ %s, (sy_call_t *)", argssize))
+       write_line("sysent",
+           string.format("\t{ .sy_narg = %s, .sy_call = (sy_call_t *)", 
argssize))
        local column = 8 + 2 + #argssize + 15
 
        if flags & known_flags["NOSTD"] ~= 0 then
                write_line("sysent", string.format(
-                   "lkmressys, AUE_NULL, NULL, 0, 0, %s, SY_THR_ABSENT },",
+                   "lkmressys, .sy_auevent = AUE_NULL, " ..
+                   ".sy_flags = %s, .sy_thrcnt = SY_THR_ABSENT },",
                    sysflags))
                column = column + #"lkmressys" + #"AUE_NULL" + 3
        else
@@ -754,12 +756,12 @@ local function handle_noncompat(sysnum, thr_flag, flag
                    funcname:find("^linux") or
                    funcname:find("^cloudabi") then
                        write_line("sysent", string.format(
-                           "%s, %s, NULL, 0, 0, %s, %s },",
+                           "%s, .sy_auevent = %s, .sy_flags = %s, .sy_thrcnt = 
%s },",
                            funcname, auditev, sysflags, thr_flag))
                        column = column + #funcname + #auditev + #sysflags + 3
                else
                        write_line("sysent", string.format(
-                           "sys_%s, %s, NULL, 0, 0, %s, %s },",
+                           "sys_%s, .sy_auevent = %s, .sy_flags = %s, 
.sy_thrcnt = %s },",
                            funcname, auditev, sysflags, thr_flag))
                        column = column + #funcname + #auditev + #sysflags + 7
                end
@@ -781,7 +783,8 @@ end
 
 local function handle_obsol(sysnum, funcname, comment)
        write_line("sysent",
-           "\t{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT 
},")
+           "\t{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, " ..
+           ".sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT 
},")
        align_sysent_comment(34)
 
        write_line("sysent", string.format("/* %d = obsolete %s */\n",
@@ -849,13 +852,15 @@ local function handle_compat(sysnum, thr_flag, flags, 
 
        if flags & known_flags['NOSTD'] ~= 0 then
                write_line("sysent", string.format(
-                   "\t{ %s, (sy_call_t *)%s, %s, NULL, 0, 0, 0, SY_THR_ABSENT 
},",
+                   "\t{ .sy_narg = %s, .sy_call = (sy_call_t *)%s, " ..
+                   ".sy_auevent = %s, .sy_flags = 0, " ..
+                   ".sy_thrcnt = SY_THR_ABSENT },",
                    "0", "lkmressys", "AUE_NULL"))
                align_sysent_comment(8 + 2 + #"0" + 15 + #"lkmressys" +
                    #"AUE_NULL" + 3)
        else
                write_line("sysent", string.format(
-                   "\t{ %s(%s,%s), %s, NULL, 0, 0, %s, %s },",
+                   "\t{ %s(%s,%s), .sy_auevent = %s, .sy_flags = %s, 
.sy_thrcnt = %s },",
                    wrap, argssize, funcname, auditev, sysflags, thr_flag))
                align_sysent_comment(8 + 9 + #argssize + 1 + #funcname +
                    #auditev + #sysflags + 4)
@@ -889,7 +894,9 @@ local function handle_unimpl(sysnum, sysstart, sysend,
        sysnum = sysstart
        while sysnum <= sysend do
                write_line("sysent", string.format(
-                   "\t{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, 
SY_THR_ABSENT },\t\t\t/* %d = %s */\n",
+                   "\t{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, " ..
+                   ".sy_auevent = AUE_NULL, .sy_flags = 0, " ..
+                   ".sy_thrcnt = SY_THR_ABSENT },\t\t\t/* %d = %s */\n",
                    sysnum, comment))
                write_line("sysnames", string.format(
                    "\t\"#%d\",\t\t\t/* %d = %s */\n",
@@ -1302,9 +1309,9 @@ for _, v in pairs(compat_options) do
                write_line("sysinc", string.format([[
 
 #ifdef %s
-#define %s(n, name) n, (sy_call_t *)__CONCAT(%s,name)
+#define %s(n, name) .sy_narg = n, .sy_call = (sy_call_t *)__CONCAT(%s,name)
 #else
-#define %s(n, name) 0, (sy_call_t *)nosys
+#define %s(n, name) .sy_narg = 0, .sy_call = (sy_call_t *)nosys
 #endif
 ]], v["definition"], v["flag"]:lower(), v["prefix"], v["flag"]:lower()))
        end
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to