On 06.08.20 14:50, Jan Beulich wrote:
Hi Jan
On 03.08.2020 20:21, Oleksandr Tyshchenko wrote:
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -1652,6 +1652,12 @@ long do_memory_op(unsigned long cmd,
XEN_GUEST_HANDLE_PARAM(void) arg)
break;
}
+ /* x86 already sets the flag in hvm_memory_op() */
+#if defined(CONFIG_ARM64) && defined(CONFIG_IOREQ_SERVER)
+ if ( op == XENMEM_decrease_reservation )
+ curr_d->arch.hvm.qemu_mapcache_invalidate = true;
+#endif
Doesn't the comment already indicate a route towards an approach
not requiring to alter common code?
Given that IOREQ is now moved under common/, I think it would make sense
to have this set in common code as well for all the architecture.
IOW, I would suggest to drop the #ifdef CONFIG_ARM64. In addition, we
may want to introduce an helper to check if a domain is using ioreq.
Of course, with the (part of the) conditional dropped and the struct
field moved out of the arch sub-struct, this is fine to live here.
ok.
I suspect this should *also* live in compat_memory_op(). Please confirm
whether my understanding correct.
--
Regards,
Oleksandr Tyshchenko