Lines Matching refs:p2m_entry
149 p2m_free_entry(struct p2m_domain *p2m, l1_pgentry_t *p2m_entry, int page_order) in p2m_free_entry() argument
153 || !(l1e_get_flags(*p2m_entry) & _PAGE_PRESENT) in p2m_free_entry()
154 || (l1e_get_flags(*p2m_entry) & _PAGE_PSE) ) in p2m_free_entry()
159 l1_pgentry_t *l3_table = map_domain_page(l1e_get_mfn(*p2m_entry)); in p2m_free_entry()
166 p2m_free_ptp(p2m, l1e_get_page(*p2m_entry)); in p2m_free_entry()
176 static void p2m_add_iommu_flags(l1_pgentry_t *p2m_entry, in p2m_add_iommu_flags() argument
180 l1e_add_flags(*p2m_entry, iommu_nlevel_to_flags(nlevel, flags)); in p2m_add_iommu_flags()
189 l1_pgentry_t *p2m_entry, new_entry; in p2m_next_level() local
193 if ( !(p2m_entry = p2m_find_entry(*table, gfn_remainder, gfn, in p2m_next_level()
197 flags = l1e_get_flags(*p2m_entry); in p2m_next_level()
210 p2m->write_p2m_entry(p2m, gfn, p2m_entry, new_entry, level + 1); in p2m_next_level()
215 unsigned long pfn = l1e_get_pfn(*p2m_entry); in p2m_next_level()
265 p2m->write_p2m_entry(p2m, gfn, p2m_entry, new_entry, level + 1); in p2m_next_level()
270 next = map_domain_page(l1e_get_mfn(*p2m_entry)); in p2m_next_level()
490 l1_pgentry_t *p2m_entry, entry_content; in p2m_pt_set_entry() local
553 p2m_entry = p2m_find_entry(table, &gfn_remainder, gfn, in p2m_pt_set_entry()
556 ASSERT(p2m_entry); in p2m_pt_set_entry()
557 flags = l1e_get_flags(*p2m_entry); in p2m_pt_set_entry()
562 old_mfn = l1e_get_pfn(*p2m_entry); in p2m_pt_set_entry()
570 intermediate_entry = *p2m_entry; in p2m_pt_set_entry()
585 p2m->write_p2m_entry(p2m, gfn, p2m_entry, entry_content, 3); in p2m_pt_set_entry()
607 p2m_entry = p2m_find_entry(table, &gfn_remainder, gfn, in p2m_pt_set_entry()
609 ASSERT(p2m_entry); in p2m_pt_set_entry()
610 old_mfn = l1e_get_pfn(*p2m_entry); in p2m_pt_set_entry()
612 p2m_get_iommu_flags(p2m_flags_to_type(l1e_get_flags(*p2m_entry)), in p2m_pt_set_entry()
624 p2mt_old = p2m_flags_to_type(l1e_get_flags(*p2m_entry)); in p2m_pt_set_entry()
640 p2m->write_p2m_entry(p2m, gfn, p2m_entry, entry_content, 1); in p2m_pt_set_entry()
645 p2m_entry = p2m_find_entry(table, &gfn_remainder, gfn, in p2m_pt_set_entry()
648 ASSERT(p2m_entry); in p2m_pt_set_entry()
649 flags = l1e_get_flags(*p2m_entry); in p2m_pt_set_entry()
654 old_mfn = l1e_get_pfn(*p2m_entry); in p2m_pt_set_entry()
662 intermediate_entry = *p2m_entry; in p2m_pt_set_entry()
677 p2m->write_p2m_entry(p2m, gfn, p2m_entry, entry_content, 2); in p2m_pt_set_entry()