On Fri, Mar 15, 2019 at 09:54:42AM +0000, Paul Durrant wrote: > AFAICT xen_remap_bucket() is always called with a NULL vaddr argument > if entry->vaddr_base == NULL, and called with vaddr == > entry->vaddr_base in the other case, so I'd say the vaddr argument is > superfluous.
I don't think that's true. The call at line 312 [1] may be called with vaddr_base != NULL. Then, xen_remap_bucket will unmap that entry before replacing it. We could maybe figure out if vaddr_base needs to be replaced in-place based on the flags XEN_MAPCACHE_ENTRY_DUMMY, but that seems more convoluted than the current approche. [1] https://git.qemu.org/?p=qemu.git;a=blob;f=hw/i386/xen/xen-mapcache.c;h=349f72d00cc2c9fc134df8cff7dd051b1fc2fa41;hb=HEAD#l312 -- Anthony PERARD