From owner-FreeBSD-users-jp@jp.freebsd.org  Sun Oct  8 21:03:20 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id VAA79689;
	Sun, 8 Oct 2000 21:03:20 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from lavender.sanpei.org (ppp161.dialup.st.keio.ac.jp [131.113.27.161])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id VAA79682
	for <FreeBSD-users-jp@jp.freebsd.org>; Sun, 8 Oct 2000 21:03:14 +0900 (JST)
	(envelope-from sanpei@sanpei.org)
Received: (from sanpei@localhost)
	by lavender.sanpei.org (8.11.0/3.7W) id e98C0eH02226;
	Sun, 8 Oct 2000 21:00:40 +0900 (JST)
Message-Id: <200010081200.e98C0eH02226@lavender.sanpei.org>
To: FreeBSD-users-jp@jp.freebsd.org
X-Mailer: Mew version 1.70 on Emacs 19.34.1 / Mule 2.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Sun, 08 Oct 2000 21:00:40 +0900
From: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 55885
Subject: [FreeBSD-users-jp 55885] Re: vmware2 on FreeBSD 4.0R
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: sanpei@sanpei.org

>$B<+8J2rE`%U%!%$%k$J$k$b$N$r(B, $B<h$j=P$9$?$a$K(B, $B5W!9$K(B vmware $B$r(B
>$B;H$C$F$_$^$7$?(B. $B$3$s$J$N$G$I$&$G$7$g$&$+(B?
>
>vmware $B$r(B($B:F(B)$B5/F0$9$kA0$K(B
>sysctl -w compat.linux.mmap_nosycn=1
                                  ~  <--- n $B$,B-$j$J$$$G$9(B:-)
>
>$B$H$7$F$/$@$5$$(B.

  5-current $BMQ$K(B patch $B$r=q$-49$($F$_$^$7$?(B. 

  $B$3$N=$@5$GFs%v7n$[$I;H$C$F$$$^$9$,(B, $B$3$N%Q%C%A$r2C$($k$3$H$G2wE,$G(B
$B$9(B.

# $B$,(B sanpei $B$O(B FreeBSD tree $B$KF~$l$k:n6H$N%Q%o!<$O!D!D(B
---
MIHIRA, Sanpei Yoshiro
Yokohama, Japan.


--- sys/i386/linux/linux_machdep.c.org	Sun Oct  8 20:37:25 2000
+++ sys/i386/linux/linux_machdep.c	Sun Oct  8 20:38:22 2000
@@ -250,6 +250,10 @@
 	int fd;
 	int pos;
 };
+static int mmap_nosync;
+SYSCTL_DECL(_compat_linux);
+SYSCTL_INT(_compat_linux, OID_AUTO, mmap_nosync, CTLFLAG_RW,
+	&mmap_nosync, 0, "mmap files with MAP_NOSYNC flag in Linux mode.");
 
 #define STACK_SIZE  (2 * 1024 * 1024)
 #define GUARD_SIZE  (4 * PAGE_SIZE)
@@ -336,8 +340,11 @@
 	bsd_args.prot = linux_args.prot | PROT_READ;	/* always required */
 	if (linux_args.flags & LINUX_MAP_ANON)
 		bsd_args.fd = -1;
-	else
+	else {
 		bsd_args.fd = linux_args.fd;
+		if (mmap_nosync)
+			bsd_args.flags |= MAP_NOSYNC;
+	}
 	bsd_args.pos = linux_args.pos;
 	bsd_args.pad = 0;
 
