From owner-FreeBSD-users-jp@jp.FreeBSD.org Tue Jun  7 08:51:53 2005
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id j56Npra87971;
	Tue, 7 Jun 2005 08:51:53 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from elam.kais.kyoto-u.ac.jp (elam.kais.kyoto-u.ac.jp [130.54.60.9])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id j56Nprh87966
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Tue, 7 Jun 2005 08:51:53 +0900 (JST)
	(envelope-from kaho@elam.kais.kyoto-u.ac.jp)
Received: from elam.kais.kyoto-u.ac.jp (localhost [127.0.0.1])
	by elam.kais.kyoto-u.ac.jp (8.13.1/8.13.1) with ESMTP id j56NpoaM078764
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Tue, 7 Jun 2005 08:51:51 +0900 (JST)
	(envelope-from kaho@elam.kais.kyoto-u.ac.jp)
Message-Id: <200506062351.j56NpoaM078764@elam.kais.kyoto-u.ac.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-reply-to: Your message of "Tue, 07 Jun 2005 01:54:40 JST"
References: <863brv4e9b.wl%bestie@cream.plala.or.jp>
User-Agent: EMH/1.10.0 SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.3 (i386--freebsd) MULE/5.0 (SAKAKI)
MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka")
Content-Type: multipart/mixed;
 boundary="Multipart_Tue_Jun__7_08:51:50_2005-1"
From: Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
X-Virus-Scanned: ClamAV version 0.81, clamav-milter version 0.81b on elam.kais.kyoto-u.ac.jp
X-Virus-Status: Clean
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Tue, 07 Jun 2005 08:51:50 +0900
X-Sequence: FreeBSD-users-jp 85063
Subject: [FreeBSD-users-jp 85063] Re: vmware2 on 5.4-R
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: kaho@elam.kais.kyoto-u.ac.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+050320

--Multipart_Tue_Jun__7_08:51:50_2005-1
Content-Type: text/plain; charset=ISO-2022-JP

  $B$3$s$K$A$O!#2<J]$G$9!#(B

  current$B$G(Bvmware2$B$rF0$+$7$F$$$^$9!#:G6a!">/$7%Q%C%A$,(Bcommit$B$5$l(B
$B$?$h$&$G!"I,MW$J%Q%C%A$,BgI}$K8:$j$^$7$?$M!#(B

   kmem_alloc_pageable()$B$r(Bkmem_alloc_nofault()$B$K$9$kDxEY$N4JC1$J(B
$B%Q%C%A$G!"B>$K$O(Bports$B$K<j$r2C$($:$K!"F0$$$F$$$^$9!#(B
Linux_base-7.1_7 $B$H$$$&$N$,F~$C$F$^$9!#(B

  $B$o$?$7$,;H$C$F$$$k%Q%C%A$rIU$1$F$*$-$^$9!#(Bcurrent$BMQ$J$N$G!"IT(B
$BMW$J$b$N$,$"$k$+$b$7$l$^$;$s!#(B
work/vmware-distrib/vmmon-only/freebsd/ $B0J2<$G!"(Bpatch -p0 $B$GEv$F(B
$B$F2<$5$$!#(B

-- 
kaho@elam.kais.kyoto-u.ac.jp

--Multipart_Tue_Jun__7_08:51:50_2005-1
Content-Type: application/octet-stream; type=patch
Content-Disposition: attachment; filename="vmware2.new.diff"
Content-Transfer-Encoding: 7bit

--- hostif.c.old	Mon May  9 10:19:54 2005
+++ hostif.c	Mon May  9 10:20:45 2005
@@ -324,7 +324,7 @@
 void
 HostIF_InitFP(VMDriver *vm)
 {
-   int mask = (1<<(0xd-0x8));
+   uint8 mask = (1<<(0xd-0x8));
   
    uint8 val = inb(0xA1);
    
@@ -337,7 +337,7 @@
 
    if (!(val & mask)) { 
       val = val | mask;
-      outb(val,0xA1);
+      outb(0xA1,val);
    }
 }
 
@@ -1105,12 +1105,12 @@
   rc = vm_fault_quick(addr, VM_PROT_READ|VM_PROT_WRITE);
   if (rc<0) { /* page don't present in map */
 	Warning("KernelAddr_Get!!! Addr %p not present\n", addr);
-        return NULL;
+        return (vm_offset_t)NULL;
   }
   paddr = vtophys(addr);
 #if __FreeBSD_version >= 500038
   GIANT_REQUIRED;
-  ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+  ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
   ka->map = PHYS_TO_VM_PAGE(paddr);
   vm_page_lock_queues();
   vm_page_wire(ka->map);
@@ -1118,19 +1118,19 @@
   pmap_qenter(ka->kaddr, &ka->map, 1);
 #elif __FreeBSD_version >= 500021
   GIANT_REQUIRED;
-  ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+  ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
   ka->map = PHYS_TO_VM_PAGE(paddr);
   vm_page_wire(ka->map);
   pmap_kenter(ka->kaddr, paddr);
 #elif __FreeBSD_version >= 500013
   mtx_lock(&vm_mtx);
-  ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+  ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
   ka->map = PHYS_TO_VM_PAGE(paddr);
   vm_page_wire(ka->map);
   pmap_kenter(ka->kaddr, paddr);
   mtx_unlock(&vm_mtx);
 #else
-  ka->kaddr = kmem_alloc_pageable(kernel_map, PAGE_SIZE);
+  ka->kaddr = kmem_alloc_nofault(kernel_map, PAGE_SIZE);
   ka->map = PHYS_TO_VM_PAGE(paddr);
   vm_page_wire(ka->map); 
   pmap_kenter(ka->kaddr, paddr);	
--- driver.c.old	Mon May  9 10:19:54 2005
+++ driver.c	Mon May  9 10:20:45 2005
@@ -285,7 +285,9 @@
 static int 
 cleanup_module(void)
 {
+#if __FreeBSD_version < 500104
    int retval=0;
+#endif
    
    destroy_dev(vmmon_dev);
 #if __FreeBSD_version < 500104
--- driver.c~	Mon May  9 10:20:45 2005
+++ driver.c	Mon May  9 10:40:05 2005
@@ -165,7 +165,9 @@
 	.d_ioctl =	FreeBSD_Driver_Ioctl,
 	.d_poll =	FreeBSD_Driver_Poll,
 	.d_name =	DEVICE_NAME,
+#if __FreeBSD_version < 600022
 	.d_maj =	CDEV_MAJOR
+#endif
 #else
 	/* open */	FreeBSD_Driver_Open,
 	/* close */	FreeBSD_Driver_Close,

--Multipart_Tue_Jun__7_08:51:50_2005-1--
