gfn = mfn_to_gfn(v->domain, gmfn);
GUESS(0xffff810000000000UL + (gfn << PAGE_SHIFT), 4);
GUESS(0x0000010000000000UL + (gfn << PAGE_SHIFT), 4);
+ /*
+ * 64bit Solaris kernel page map at
+ * kpm_vbase; 0xfffffe0000000000UL
+ */
+ GUESS(0xfffffe0000000000UL + (gfn << PAGE_SHIFT), 4);
}
#endif /* CONFIG_PAGING_LEVELS >= 4 */
shadow_l1e_t *sl1e;
int done = 0;
int flags;
+#if SHADOW_OPTIMIZATIONS & SHOPT_WRITABLE_HEURISTIC
mfn_t base_sl1mfn = sl1mfn; /* Because sl1mfn changes in the foreach */
+#endif
SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done,
{
PERFCOUNTER(shadow_writeable_h_1, "shadow writeable: 32b w2k3")
PERFCOUNTER(shadow_writeable_h_2, "shadow writeable: 32pae w2k3")
PERFCOUNTER(shadow_writeable_h_3, "shadow writeable: 64b w2k3")
-PERFCOUNTER(shadow_writeable_h_4, "shadow writeable: 32b linux low")
-PERFCOUNTER(shadow_writeable_h_5, "shadow writeable: 32b linux high")
+PERFCOUNTER(shadow_writeable_h_4, "shadow writeable: linux/solaris")
PERFCOUNTER(shadow_writeable_bf, "shadow writeable brute-force")
PERFCOUNTER(shadow_mappings, "shadow removes all mappings")
PERFCOUNTER(shadow_mappings_bf, "shadow rm-mappings brute-force")