* the page. If that doesn't work either, the guest is granting
* his pagetables and must be killed after all.
* This will flush the tlb, so we can return with no worries. */
- sh_remove_shadows(d, gmfn, 0 /* Be thorough */, 1 /* Must succeed */);
+ shadow_remove_all_shadows(d, gmfn);
return 1;
}
/* Even harsher: this is a HVM page that we thing is no longer a pagetable.
* Unshadow it, and recursively unshadow pages that reference it. */
{
- sh_remove_shadows(d, gmfn, 0, 1);
+ shadow_remove_all_shadows(d, gmfn);
/* XXX TODO:
* Rework this hashtable walker to return a linked-list of all
* the shadows it modified, then do breadth-first recursion
SHADOW_PRINTK("user-mode fault to PT, unshadowing mfn %#lx\n",
mfn_x(gmfn));
perfc_incr(shadow_fault_emulate_failed);
- sh_remove_shadows(d, gmfn, 0 /* thorough */, 1 /* must succeed */);
+ shadow_remove_all_shadows(d, gmfn);
trace_shadow_emulate_other(TRC_SHADOW_EMULATE_UNSHADOW_USER,
va, gfn);
goto done;
v->arch.paging.last_write_emul_ok = 0;
}
#endif
- sh_remove_shadows(d, gmfn, 0 /* thorough */, 1 /* must succeed */);
+ shadow_remove_all_shadows(d, gmfn);
trace_shadow_emulate_other(TRC_SHADOW_EMULATE_UNSHADOW_EVTINJ,
va, gfn);
return EXCRET_fault_fixed;