[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] How is foreign map invalidated in dom0?
I'mÂwriteÂsomeÂcodeÂtoÂlogÂforeignÂmapÂoperationsÂinÂXenÂspace.ÂIÂputÂaÂcheckpointÂinÂdo_mmu_update()ÂandÂlogÂ(ptr, val)'s of map opeartions successfully (I tested with domain builder and my test program).Â
But the unmap procedure confuses me. As far as I understand (play with XenoLinux 2.6.18 and Xen 3.3.2), there is no "foreign unmap", user space process just invokes munmap() and flushes page table.Â
I put some more code in do_mmu_update() to do the un-logging. However, things didn't come out as expected. Serial output reports no flushing on those logged ptr locations. For example, I am expecting Xen reports some previous logged (ptr, val) pairs are noÂlongerÂvalidÂafterÂdomain builder finishes its job,ÂbutÂnothingÂhappens.ÂOneÂexceptionÂisÂthat,ÂwhenÂIÂkillÂxenconsoledÂ(orÂxenstored, they both FM domU's page)ÂwithÂdomUÂrunning,ÂXen reports "unmap" event. I don't see any logical differences between my test program and xenconsoled, which both utilize xc_map_foreign_range() and munmap().
I also traced code in writable page table and do_update_va_mapping(), none of them touches logged locations.
Did I miss something? Any suggestion is appreciated.
Xen-devel mailing list