I downloaded your latest driver from your site (vmware-ws-any-update16
package) and I adjusted it this way:
--- vmware-ws-any-update16/vmmon-only/linux/hostif.c.~1~ Sun Mar 31 20:44:35 2002
+++ vmware-ws-any-update16/vmmon-only/linux/hostif.c Sat Apr 27 01:12:50 2002
@@ -176,7 +176,7 @@
unsigned long pagenr;
pgd_t *pgd;
pmd_t *pmd;
- pte_t *pte;
+ pte_t *ptep, pte;
pgd = pgd_offset(current->mm, addr);
if (pgd_none(*pgd))
@@ -184,10 +184,12 @@
pmd = pmd_offset(pgd, addr);
if (pmd_none(*pmd))
return 0;
- pte = pte_offset(pmd, addr);
- if (!pte_present(*pte))
+ ptep = pte_offset_atomic(pmd, addr);
+ pte = *ptep;
+ pte_kunmap(ptep);
+ if (!pte_present(pte))
return 0;
- pagenr = pte_pagenr(*pte);
+ pagenr = pte_pagenr(pte);
return pagenr;
#else
int pdoffset = PFN_2_PDOFF(ppn);
--- vmware-ws-any-update16/vmnet-only/vmnetInt.h.~1~ Sat Mar 23 04:27:54 2002
+++ vmware-ws-any-update16/vmnet-only/vmnetInt.h Sat Apr 27 01:16:43 2002
@@ -96,10 +96,8 @@
#endif
-#ifndef KERNEL_2_5_5
-# define pte_offset_map(_dir, _address) pte_offset(_dir, _address)
-# define pte_unmap(_pte)
-#endif
+# define pte_offset_map(_dir, _address) pte_offset_atomic(_dir, _address)
+# define pte_unmap(_pte) pte_kunmap(_pte);
#ifndef KERNEL_2_4_8
I'm running the patched driver right now with vmware 3.0 workstataion
on my main desktop with 1G using 2.4.19-pre7 as kernel (pte-highmem
enabled of course). If I'll find any instability of the host OS I'll let
you know, so far it looks solid.
Hope this helps,
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/