[Zrouter-src-freebsd] ZRouter.org: push to FreeBSD HEAD tree

zrouter-src-freebsd at zrouter.org zrouter-src-freebsd at zrouter.org
Wed Feb 1 10:56:40 UTC 2012


details:   http://zrouter.org/hg/FreeBSD/head//rev/3491e77f1e48
changeset: 311:3491e77f1e48
user:      ray at terran.dlink.ua
date:      Wed Feb 01 11:32:46 2012 +0200
description:
Update sys/compat

diffstat:

 head/sys/compat/freebsd32/freebsd32_misc.c |  16 ++++++++++++----
 head/sys/compat/ia32/ia32_signal.h         |  14 +++++++++++---
 2 files changed, 23 insertions(+), 7 deletions(-)

diffs (91 lines):

diff -r 5c7520f2fce4 -r 3491e77f1e48 head/sys/compat/freebsd32/freebsd32_misc.c
--- a/head/sys/compat/freebsd32/freebsd32_misc.c	Wed Feb 01 11:32:30 2012 +0200
+++ b/head/sys/compat/freebsd32/freebsd32_misc.c	Wed Feb 01 11:32:46 2012 +0200
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/compat/freebsd32/freebsd32_misc.c 227502 2011-11-14 18:00:15Z jhb $");
+__FBSDID("$FreeBSD: head/sys/compat/freebsd32/freebsd32_misc.c 230249 2012-01-17 01:08:01Z mckusick $");
 
 #include "opt_compat.h"
 #include "opt_inet.h"
@@ -2485,9 +2485,17 @@
     } */ *uap)
 {
 	struct uio *auio;
+	uint64_t flags;
 	int error;
 
-	AUDIT_ARG_FFLAGS(uap->flags);
+	/*
+	 * Mount flags are now 64-bits. On 32-bit archtectures only
+	 * 32-bits are passed in, but from here on everything handles
+	 * 64-bit flags correctly.
+	 */
+	flags = uap->flags;
+
+	AUDIT_ARG_FFLAGS(flags);
 
 	/*
 	 * Filter out MNT_ROOTFS.  We do not want clients of nmount() in
@@ -2496,7 +2504,7 @@
 	 * MNT_ROOTFS should only be set by the kernel when mounting its
 	 * root file system.
 	 */
-	uap->flags &= ~MNT_ROOTFS;
+	flags &= ~MNT_ROOTFS;
 
 	/*
 	 * check that we have an even number of iovec's
@@ -2508,7 +2516,7 @@
 	error = freebsd32_copyinuio(uap->iovp, uap->iovcnt, &auio);
 	if (error)
 		return (error);
-	error = vfs_donmount(td, uap->flags, auio);
+	error = vfs_donmount(td, flags, auio);
 
 	free(auio, M_IOV);
 	return error;
diff -r 5c7520f2fce4 -r 3491e77f1e48 head/sys/compat/ia32/ia32_signal.h
--- a/head/sys/compat/ia32/ia32_signal.h	Wed Feb 01 11:32:30 2012 +0200
+++ b/head/sys/compat/ia32/ia32_signal.h	Wed Feb 01 11:32:46 2012 +0200
@@ -26,12 +26,18 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: head/sys/compat/ia32/ia32_signal.h 220238 2011-04-01 11:16:29Z kib $
+ * $FreeBSD: head/sys/compat/ia32/ia32_signal.h 230426 2012-01-21 17:45:27Z kib $
  */
 
 #ifndef	_COMPAT_IA32_IA32_SIGNAL_H
 #define	_COMPAT_IA32_IA32_SIGNAL_H
 
+#define	_MC_IA32_HASSEGS	0x1
+#define	_MC_IA32_HASBASES	0x2
+#define	_MC_IA32_HASFPXSTATE	0x4
+#define	_MC_IA32_FLAG_MASK	\
+    (_MC_IA32_HASSEGS | _MC_IA32_HASBASES | _MC_IA32_HASFPXSTATE)
+
 struct ia32_mcontext {
 	u_int32_t	mc_onstack;		/* XXX - sigcontext compat. */
 	u_int32_t	mc_gs;			/* machine state (struct trapframe) */
@@ -57,14 +63,16 @@
 	/* We use the same values for fpformat and ownedfp */
 	u_int32_t	mc_fpformat;
 	u_int32_t	mc_ownedfp;
-	u_int32_t	mc_spare1[1];		/* align next field to 16 bytes */
+	u_int32_t	mc_flags;
 	/*
 	 * See <i386/include/npx.h> for the internals of mc_fpstate[].
 	 */
 	u_int32_t	mc_fpstate[128] __aligned(16);
 	u_int32_t	mc_fsbase;
 	u_int32_t	mc_gsbase;
-	u_int32_t	mc_spare2[6];
+	u_int32_t	mc_xfpustate;
+	u_int32_t	mc_xfpustate_len;
+	u_int32_t	mc_spare2[4];
 };
 
 struct ia32_ucontext {


More information about the Zrouter-src-freebsd mailing list