On Wed, Feb 24, 2010 at 12:16 PM, Jacques Fourie <jacques.fourie_at_gmail.com> wrote: > As a test you can apply the following mod to sys/i386/include/pmap.h > and re-compile vboxdrv.ko. It fixed the problem for me but I'm by no > means an expert on the i386 pmap stuff so use at your own risk. Also > revert the change to pmap.h after re-compiling vboxdrv just so that > you don't inadvertently break something else. > > Index: pmap.h > =================================================================== > --- pmap.h (revision 204194) > +++ pmap.h (working copy) > _at__at_ -296,7 +296,10 _at__at_ > * however, safe to use the old PDE because the page table > * page is preserved by the promotion. > */ > - pa = KPTmap[i386_btop(va)]; > + if (va >= KERNBASE) > + pa = KPTmap[i386_btop(va)]; > + else > + pa = *vtopte(va); > pa = (pa & PG_FRAME) | (va & PAGE_MASK); > } > return (pa); pmap_kextract is intend to be used with kernel virtual addresses and not user virtual addresses. The problem lies in the driver not in the kernel. The vboxdrv call vtophys macro passing user virtual addresses through rtR0MemObjNativeGetPagePhysAddr and this is wrong. If you want a way to get virtualbox works try to revert this commit (r202894): http://www.mail-archive.com/svn-src-all_at_freebsd.org/msg19081.html If you don't use ZFS with superpages enable you have a good chance to get a work system until a patch to vboxdrv will be around. -- GianniReceived on Wed Feb 24 2010 - 11:26:12 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:01 UTC