Hi, all.
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.
Best regards
Wei LIU
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|