Home
last modified time | relevance | path

Searched refs:pfec (Results 1 – 20 of 20) sorted by relevance

/xen/xen/arch/x86/mm/hap/
A Dguest_walk.c43 struct vcpu *v, struct p2m_domain *p2m, unsigned long gva, uint32_t *pfec) in hap_gva_to_gfn()
46 return hap_p2m_ga_to_gfn(GUEST_PAGING_LEVELS)(v, p2m, cr3, gva, pfec, NULL); in hap_gva_to_gfn()
51 paddr_t ga, uint32_t *pfec, unsigned int *page_order) in hap_p2m_ga_to_gfn()
68 *pfec = PFEC_page_paged; in hap_p2m_ga_to_gfn()
76 *pfec = PFEC_page_shared; in hap_p2m_ga_to_gfn()
83 *pfec &= ~PFEC_page_present; in hap_p2m_ga_to_gfn()
94 walk_ok = guest_walk_tables(v, p2m, ga, &gw, *pfec, in hap_p2m_ga_to_gfn()
112 *pfec = PFEC_page_paged; in hap_p2m_ga_to_gfn()
118 *pfec = PFEC_page_shared; in hap_p2m_ga_to_gfn()
128 *pfec = gw.pfec; in hap_p2m_ga_to_gfn()
[all …]
A Dprivate.h30 uint32_t *pfec);
34 uint32_t *pfec);
38 uint32_t *pfec);
42 paddr_t ga, uint32_t *pfec, unsigned int *page_order);
45 paddr_t ga, uint32_t *pfec, unsigned int *page_order);
48 paddr_t ga, uint32_t *pfec, unsigned int *page_order);
A Dhap.c826 struct vcpu *v, struct p2m_domain *p2m, unsigned long gva, uint32_t *pfec) in hap_gva_to_gfn_real_mode() argument
833 paddr_t ga, uint32_t *pfec, unsigned int *page_order) in hap_p2m_ga_to_gfn_real_mode() argument
/xen/xen/arch/x86/hvm/
A Demulate.c751 uint32_t pfec, in hvmemul_linear_to_phys() argument
1264 pfec |= PFEC_implicit; in __hvmemul_read()
1266 pfec |= PFEC_user_mode; in __hvmemul_read()
1358 pfec |= PFEC_implicit; in hvmemul_write()
1360 pfec |= PFEC_user_mode; in hvmemul_write()
1412 pfec |= PFEC_implicit; in hvmemul_rmw()
1414 pfec |= PFEC_user_mode; in hvmemul_rmw()
1469 pfec |= PFEC_implicit; in hvmemul_blk()
1471 pfec |= PFEC_user_mode; in hvmemul_blk()
1612 pfec |= PFEC_implicit; in hvmemul_cmpxchg()
[all …]
A Dmonitor.c125 uint32_t pfec = PFEC_page_present | PFEC_insn_fetch; in gfn_of_rip() local
128 pfec |= PFEC_user_mode; in gfn_of_rip()
132 return paging_gva_to_gfn(curr, sreg.base + rip, &pfec); in gfn_of_rip()
232 bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec, in hvm_monitor_check_p2m() argument
258 if ( pfec & PFEC_write_access ) in hvm_monitor_check_p2m()
264 if ( pfec & PFEC_insn_fetch ) in hvm_monitor_check_p2m()
270 if ( pfec & PFEC_write_access ) in hvm_monitor_check_p2m()
272 if ( pfec & PFEC_insn_fetch ) in hvm_monitor_check_p2m()
A Dhvm.c2749 uint32_t pfec; in hvm_map_entry() local
2764 pfec = PFEC_page_present; in hvm_map_entry()
2765 gfn = paging_gva_to_gfn(current, va, &pfec); in hvm_map_entry()
2766 if ( pfec & (PFEC_page_paged | PFEC_page_shared) ) in hvm_map_entry()
3188 struct vcpu *v, unsigned long addr, bool linear, uint32_t pfec, in hvm_translate_get_page() argument
3198 gfn = _gfn(paging_gva_to_gfn(v, addr, &pfec)); in hvm_translate_get_page()
3202 if ( pfec & PFEC_page_paged ) in hvm_translate_get_page()
3205 if ( pfec & PFEC_page_shared ) in hvm_translate_get_page()
3211 pfinfo->ec = pfec & ~PFEC_implicit; in hvm_translate_get_page()
3270 uint32_t pfec, pagefault_info_t *pfinfo) in __hvm_copy() argument
[all …]
/xen/xen/arch/x86/mm/
A Dguest_walk.c125 gw->pfec = walk & (PFEC_user_mode | PFEC_write_access); in guest_walk_tables()
133 gw->pfec |= (walk & PFEC_insn_fetch); in guest_walk_tables()
155 gw->pfec |= PFEC_reserved_bit | PFEC_page_present; in guest_walk_tables()
171 gw->pfec |= rc & PFEC_synth_mask; in guest_walk_tables()
190 gw->pfec |= PFEC_reserved_bit | PFEC_page_present; in guest_walk_tables()
248 gw->pfec |= PFEC_reserved_bit | PFEC_page_present; in guest_walk_tables()
262 gw->pfec |= rc & PFEC_synth_mask; in guest_walk_tables()
301 gw->pfec |= PFEC_reserved_bit | PFEC_page_present; in guest_walk_tables()
361 gw->pfec |= rc & PFEC_synth_mask; in guest_walk_tables()
391 gw->pfec |= PFEC_page_present; in guest_walk_tables()
[all …]
A Dp2m.c1770 uint32_t *pfec) in paging_gva_to_gfn() argument
1787 l2_gfn = mode->gva_to_gfn(v, p2m, va, pfec); in paging_gva_to_gfn()
1795 !!(*pfec & PFEC_write_access), in paging_gva_to_gfn()
1796 !!(*pfec & PFEC_insn_fetch)); in paging_gva_to_gfn()
1811 return hostmode->gva_to_gfn(v, hostp2m, va, pfec); in paging_gva_to_gfn()
1820 p2m_query_t q, uint32_t *pfec) in map_domain_gfn() argument
1827 *pfec = PFEC_reserved_bit | PFEC_page_present; in map_domain_gfn()
1839 *pfec = PFEC_page_paged; in map_domain_gfn()
1846 *pfec = PFEC_page_shared; in map_domain_gfn()
1851 *pfec = 0; in map_domain_gfn()
[all …]
/xen/xen/include/asm-x86/
A Dguest_pt.h364 uint32_t pfec; /* Accumulated PFEC_* error code from walk. */ member
432 unsigned long va, walk_t *gw, uint32_t pfec,
458 gprintk(XENLOG_INFO, " pfec=%02x[%c%c%c%c%c%c]\n", gw->pfec, in print_gw()
459 gw->pfec & PFEC_prot_key ? 'K' : '-', in print_gw()
460 gw->pfec & PFEC_insn_fetch ? 'I' : 'd', in print_gw()
461 gw->pfec & PFEC_reserved_bit ? 'R' : '-', in print_gw()
462 gw->pfec & PFEC_user_mode ? 'U' : 's', in print_gw()
463 gw->pfec & PFEC_write_access ? 'W' : 'r', in print_gw()
464 gw->pfec & PFEC_page_present ? 'P' : '-' in print_gw()
A Dpaging.h131 uint32_t *pfec);
135 paddr_t ga, uint32_t *pfec,
273 uint32_t *pfec);
285 uint32_t *pfec, in paging_ga_to_gfn_cr3() argument
289 return paging_get_hostmode(v)->p2m_ga_to_gfn(v, p2m, cr3, ga, pfec, in paging_ga_to_gfn_cr3()
A Dp2m.h759 p2m_query_t q, uint32_t *pfec);
/xen/xen/include/asm-x86/hvm/
A Dsupport.h99 unsigned long addr, void *buf, unsigned int size, uint32_t pfec,
102 void *buf, unsigned long addr, unsigned int size, uint32_t pfec,
112 struct vcpu *v, unsigned long addr, bool linear, uint32_t pfec,
A Dmonitor.h52 bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
/xen/xen/arch/x86/mm/shadow/
A Dprivate.h756 uint32_t pfec; /* PF error code of the lookup that filled this member
776 unsigned long frame, uint32_t pfec) in vtlb_insert() argument
779 { .page_number = page, .frame_number = frame, .pfec = pfec }; in vtlb_insert()
787 unsigned long va, uint32_t pfec) in vtlb_lookup() argument
794 if ( v->arch.paging.vtlb[i].pfec != 0 in vtlb_lookup()
797 && (v->arch.paging.vtlb[i].pfec & pfec) == pfec ) in vtlb_lookup()
A Dnone.c47 unsigned long va, uint32_t *pfec) in _gva_to_gfn() argument
A Dhvm.c405 uint32_t pfec = PFEC_page_present | PFEC_write_access; in emulate_gva_to_mfn() local
408 gfn = paging_get_hostmode(v)->gva_to_gfn(v, NULL, vaddr, &pfec); in emulate_gva_to_mfn()
411 x86_emul_pagefault(pfec, vaddr, &sh_ctxt->ctxt); in emulate_gva_to_mfn()
A Dmulti.c182 uint32_t pfec) in sh_walk_guest_tables() argument
189 return guest_walk_tables(v, p2m_get_hostp2m(v->domain), va, gw, pfec, in sh_walk_guest_tables()
197 bool ok = guest_walk_tables(v, p2m_get_hostp2m(d), va, gw, pfec, in sh_walk_guest_tables()
3011 if ( gw.pfec & PFEC_page_present ) in sh_page_fault()
3020 regs->error_code = gw.pfec & PFEC_arch_mask; in sh_page_fault()
3656 unsigned long va, uint32_t *pfec) in sh_gva_to_gfn() argument
3666 unsigned long vtlb_gfn = vtlb_lookup(v, va, *pfec); in sh_gva_to_gfn()
3671 if ( !(walk_ok = sh_walk_guest_tables(v, va, &gw, *pfec)) ) in sh_gva_to_gfn()
3673 *pfec = gw.pfec; in sh_gva_to_gfn()
3680 vtlb_insert(v, va >> PAGE_SHIFT, gfn_x(gfn), *pfec); in sh_gva_to_gfn()
/xen/xen/arch/x86/
A Ddebug.c33 uint32_t pfec = PFEC_page_present; in dbg_hvm_va2mfn() local
36 *gfn = _gfn(paging_gva_to_gfn(dp->vcpu[0], vaddr, &pfec)); in dbg_hvm_va2mfn()
/xen/xen/arch/x86/hvm/svm/
A Dnestedsvm.c1199 uint32_t pfec; in nsvm_hap_walk_L1_p2m() local
1204 pfec = PFEC_user_mode | PFEC_page_present; in nsvm_hap_walk_L1_p2m()
1206 pfec |= PFEC_write_access; in nsvm_hap_walk_L1_p2m()
1208 pfec |= PFEC_insn_fetch; in nsvm_hap_walk_L1_p2m()
1211 gfn = paging_ga_to_gfn_cr3(v, nested_cr3, L2_gpa, &pfec, page_order); in nsvm_hap_walk_L1_p2m()
A Dsvm.c1669 struct cpu_user_regs *regs, uint64_t pfec, paddr_t gpa) in svm_do_nested_pgfault() argument
1684 .read_access = !(pfec & PFEC_insn_fetch), in svm_do_nested_pgfault()
1685 .write_access = !!(pfec & PFEC_write_access), in svm_do_nested_pgfault()
1686 .insn_fetch = !!(pfec & PFEC_insn_fetch), in svm_do_nested_pgfault()
1687 .present = !!(pfec & PFEC_page_present), in svm_do_nested_pgfault()
1691 if ( pfec & NPT_PFEC_with_gla ) in svm_do_nested_pgfault()
1693 else if ( pfec & NPT_PFEC_in_gpt ) in svm_do_nested_pgfault()
1725 nestedsvm_vmexit_defer(v, VMEXIT_NPF, pfec, gpa); in svm_do_nested_pgfault()

Completed in 53 milliseconds