Hi,

I'm currently trying to finish the R0 memory implementation[1] of FreeBSD for 
VirtualBox. One of the missing methods allocates physical non contiguous pages 
which don't need to have a kernel mapping (rtR0MemObjNativeAllocPhysNC). I'm 
using vm_phys_alloc_contig to achieve this. The pages are than mapped into the 
user space VM process using pmap_enter (rtR0MemObjNativeMapUser) and if they 
are not needed anymore vm_page_free_toq is used to free the pages 
(rtR0MemObjNativeFree).
Everything works as long as the VM runs but if the VM process terminates and I 
do something else the host will panic at some point (usually when I try to 
start a gnome session) with "pmap_enter: missing reference to page table page 
<va>"[2].
There seems to some problem with the wire count of that page but I can't see 
what I'm doing wrong at the moment.
Thanks in advance for any help.

Regards,
Alexander Eichner

[1] 
http://www.virtualbox.org/browser/trunk/src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c?rev=26899
[2]http://fxr.watson.org/fxr/source/amd64/amd64/pmap.c?im=bigexcerpts#L3076

__________________________________________________
Do You Yahoo!?
Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen 
Massenmails. 
http://mail.yahoo.com
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to