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