Hello,
We recently faced a problem with the
mapcache object in the ARM port from Samsung (xen-arm), in the context of
embeddedXEN.
The mapcache is actually used during the
guest operation on the page table entry manipulations. The hypervisor performs updates
in the mapcache (via the mmu_update hypercall) to avoid modifying the *real*
physical page containing the entry to be modified. It makes sense and this is
also done in the x86 version of xen. However, we didn't succeed in figuring out
how the real page is finally modified (i.e. flushed from the mapcache).
We noticed this issue during the dom0 bootstrap:
the mmu_update hypercall is called (for instance during the pmd_clear()
operation), but the pmd entry is not really modified.
I sent out this mail to the xen-arm mailing
list as well in order to get Samsung's feedback concerning this issue. In the
meanwhile, as workaround, we have used the
map_domain_page_with_guest_va_space() function with the right addresses to
perform the modification on the *real* entry, and it works.
Thanks in advance for any comment/feedback.
Cheers
Daniel