PERFORCE change 122609 for review
Peter Wemm
peter at FreeBSD.org
Sun Jul 1 04:33:28 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=122609
Change 122609 by peter at peter_overcee on 2007/07/01 04:32:54
Add support for COMPAT6 markers (do not use yet)
Affected files ...
.. //depot/projects/hammer/sys/kern/makesyscalls.sh#8 edit
Differences ...
==== //depot/projects/hammer/sys/kern/makesyscalls.sh#8 (text+ko) ====
@@ -6,6 +6,7 @@
# name of compat options:
compat=COMPAT_43
+compat6=COMPAT_FREEBSD6
compat4=COMPAT_FREEBSD4
# output files:
@@ -27,14 +28,16 @@
syscompatdcl="sysent.compatdcl.$$"
syscompat4="sysent.compat4.$$"
syscompat4dcl="sysent.compat4dcl.$$"
+syscompat6="sysent.compat6.$$"
+syscompat6dcl="sysent.compat6dcl.$$"
sysent="sysent.switch.$$"
sysinc="sysinc.switch.$$"
sysarg="sysarg.switch.$$"
sysprotoend="sysprotoend.$$"
-trap "rm $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $sysent $sysinc $sysarg $sysprotoend" 0
+trap "rm $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $syscompat6 $syscompat6dcl $sysent $sysinc $sysarg $sysprotoend" 0
-touch $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $sysent $sysinc $sysarg $sysprotoend
+touch $sysaue $sysdcl $syscompat $syscompatdcl $syscompat4 $syscompat4dcl $syscompat6 $syscompat6dcl $sysent $sysinc $sysarg $sysprotoend
case $# in
0) echo "usage: $0 input-file <config-file>" 1>&2
@@ -69,6 +72,8 @@
syscompatdcl = \"$syscompatdcl\"
syscompat4 = \"$syscompat4\"
syscompat4dcl = \"$syscompat4dcl\"
+ syscompat6 = \"$syscompat6\"
+ syscompat6dcl = \"$syscompat6dcl\"
sysent = \"$sysent\"
syssw = \"$syssw\"
sysinc = \"$sysinc\"
@@ -79,6 +84,7 @@
systrace = \"$systrace\"
compat = \"$compat\"
compat4 = \"$compat4\"
+ compat6 = \"$compat6\"
syscallprefix = \"$syscallprefix\"
switchname = \"$switchname\"
namesname = \"$namesname\"
@@ -95,6 +101,7 @@
printf "\n#ifdef %s\n\n", compat > syscompat
printf "\n#ifdef %s\n\n", compat4 > syscompat4
+ printf "\n#ifdef %s\n\n", compat6 > syscompat6
printf "/*\n * System call names.\n *\n" > sysnames
printf " * DO NOT EDIT-- this file is automatically generated.\n" > sysnames
@@ -167,6 +174,7 @@
print > sysarg
print > syscompat
print > syscompat4
+ print > syscompat6
print > sysnames
savesyscall = syscall
next
@@ -177,6 +185,7 @@
print > sysarg
print > syscompat
print > syscompat4
+ print > syscompat6
print > sysnames
syscall = savesyscall
next
@@ -187,6 +196,7 @@
print > sysarg
print > syscompat
print > syscompat4
+ print > syscompat6
print > sysnames
next
}
@@ -255,6 +265,8 @@
argalias = "o" argalias
if ($3 == "COMPAT4")
argalias = "freebsd4_" argalias
+ if ($3 == "COMPAT6")
+ argalias = "freebsd6_" argalias
}
f++
@@ -377,7 +389,7 @@
syscall++
next
}
- $3 == "COMPAT" || $3 == "COMPAT4" || $3 == "CPT_NOA" {
+ $3 == "COMPAT" || $3 == "COMPAT4" || $3 == "COMPAT6" || $3 == "CPT_NOA" {
if ($3 == "COMPAT" || $3 == "CPT_NOA") {
ncompat++
out = syscompat
@@ -390,6 +402,12 @@
outdcl = syscompat4dcl
wrap = "compat4"
prefix = "freebsd4_"
+ } else if ($3 == "COMPAT6") {
+ ncompat6++
+ out = syscompat6
+ outdcl = syscompat6dcl
+ wrap = "compat6"
+ prefix = "freebsd6_"
}
parseline()
if (argc != 0 && $3 != "CPT_NOA") {
@@ -462,7 +480,7 @@
END {
printf "\n#define AS(name) (sizeof(struct name) / sizeof(register_t))\n" > sysinc
- if (ncompat != 0 || ncompat4 != 0)
+ if (ncompat != 0 || ncompat4 != 0 || ncompat6 != 0)
printf "#include \"opt_compat.h\"\n\n" > syssw
printf "#include \<bsm/audit_kevents.h\>\n" > syssw
@@ -482,9 +500,17 @@
printf "#endif\n" > sysinc
}
+ if (ncompat6 != 0) {
+ printf "\n#ifdef %s\n", compat6 > sysinc
+ printf "#define compat6(n, name) n, (sy_call_t *)__CONCAT(freebsd6_,name)\n" > sysinc
+ printf "#else\n" > sysinc
+ printf "#define compat6(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#undef PAD_\n") > sysprotoend
printf("#undef PADL_\n") > sysprotoend
@@ -503,5 +529,6 @@
cat $sysarg $sysdcl \
$syscompat $syscompatdcl \
$syscompat4 $syscompat4dcl \
+ $syscompat6 $syscompat6dcl \
$sysaue $sysprotoend > $sysproto
More information about the p4-projects
mailing list