Make the semantic same as the x86 one.
So far the ia64 p2m has the semantic similar to
(the x86 p2m) + (page reference count).
But the differece from the x86 p2m have caused the breakage and work around.
This patch make the ia64 p2m semantic same as x86 to solve it.
- get_page() only for grant table page mapping and foreign domain page
mapping.
- put_page() only for those pages.
- guest_physmap_remove_page() doesn't touch PGC_allocated bit.
I have to admit this patch is ugly.
There's much room for clean up, especially get_page() right before put_page().
But they aren't on performance critical path (memory exchange and
decrease reservation).
I'm rushing because I want to push this into 3.0.5.
Tsunehisa.
I haven't tested arch_memory_op(). Could you verify it?