Lines Matching refs:gw

156 nept_walk_tables(struct vcpu *v, unsigned long l2ga, ept_walk_t *gw)  in nept_walk_tables()  argument
167 memset(gw, 0, sizeof(*gw)); in nept_walk_tables()
174 gw->lxe[lvl] = lxp[ept_lvl_table_offset(l2ga, lvl)]; in nept_walk_tables()
178 if ( nept_non_present_check(gw->lxe[lvl]) ) in nept_walk_tables()
181 if ( nept_misconfiguration_check(gw->lxe[lvl], lvl) ) in nept_walk_tables()
184 if ( (lvl == 2 || lvl == 3) && nept_sp_entry(gw->lxe[lvl]) ) in nept_walk_tables()
189 gfn_t start = _gfn(gw->lxe[lvl].mfn); in nept_walk_tables()
193 gflags = (gw->lxe[lvl].epte & EPTE_FLAG_MASK) | in nept_walk_tables()
195 gw->lxe[0].epte = (gfn_x(start) << PAGE_SHIFT) | gflags; in nept_walk_tables()
199 base_gfn = _gfn(gw->lxe[lvl].mfn); in nept_walk_tables()
203 gflags = (gw->lxe[1].epte & EPTE_FLAG_MASK) | NEPT_4K_ENTRY_FLAG; in nept_walk_tables()
204 gw->lxe[0].epte = (gw->lxe[1].epte & PAGE_MASK) | gflags; in nept_walk_tables()
236 ept_walk_t gw; in nept_translate_l2ga() local
241 rc = nept_walk_tables(v, l2ga, &gw); in nept_translate_l2ga()
245 if ( likely(gw.lxe[0].epte & NEPT_2M_ENTRY_FLAG) ) in nept_translate_l2ga()
247 rwx_bits = gw.lxe[4].epte & gw.lxe[3].epte & gw.lxe[2].epte & in nept_translate_l2ga()
251 else if ( gw.lxe[0].epte & NEPT_4K_ENTRY_FLAG ) in nept_translate_l2ga()
253 rwx_bits = gw.lxe[4].epte & gw.lxe[3].epte & gw.lxe[2].epte & in nept_translate_l2ga()
254 gw.lxe[1].epte & EPTE_RWX_MASK; in nept_translate_l2ga()
257 else if ( gw.lxe[0].epte & NEPT_1G_ENTRY_FLAG ) in nept_translate_l2ga()
259 rwx_bits = gw.lxe[4].epte & gw.lxe[3].epte & EPTE_RWX_MASK; in nept_translate_l2ga()
269 *l1gfn = gw.lxe[0].mfn; in nept_translate_l2ga()