On Tue, Mar 27, 2007 at 05:44:51PM +1000, Herbert Xu wrote:
> On Tue, Mar 27, 2007 at 08:36:39AM +0100, Keir Fraser wrote:
> > This is quite a shame, since the swap-grant-mapping-for-memory hypercall
> > simply is not very nice. What if we wanted to swap a grant mapping for
> > another grant mapping in future? Or some other kind of mapping? We end up
> > needing a new, complicated, grant-table hypercall every time. Or in six
> > months time we decide this wasn't such a good idea, implement another
> > scheme, but have this special-purpose grant-table hypercall hanging around
> > unused forever more.
> > Could we shatter the ia64 guest large mappings easily? They have no benefit
> > on Xen anyway apart from some inconsequential memory saving.
> There is another way. Instead of expanding add_to_physmap which
> doesn't quite fit our semantics, let's add a new operation that
> *actually* swaps two p2m entries. Then it can be used as follows:
> a) new_addr = alloc_page
> b) memcpy(new_addr, addr, len)
> c) p2m_swap(__pa(new_addr), __pa(addr))
> d) grant_unmap(__pa(new_addr))
I'm thinking same thing. This would work.
Xen-devel mailing list