/xen-4.10.0-shim-comet/xen/arch/x86/mm/hap/ |
A D | guest_walk.c | 43 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, top_mfn, top_map); in hap_p2m_ga_to_gfn() 111 *pfec = PFEC_page_paged; in hap_p2m_ga_to_gfn() 117 *pfec = PFEC_page_shared; in hap_p2m_ga_to_gfn() 127 *pfec = gw.pfec; in hap_p2m_ga_to_gfn() [all …]
|
A D | private.h | 30 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 D | hap.c | 753 struct vcpu *v, struct p2m_domain *p2m, unsigned long gva, uint32_t *pfec) in hap_gva_to_gfn_real_mode() argument 760 paddr_t ga, uint32_t *pfec, unsigned int *page_order) in hap_p2m_ga_to_gfn_real_mode() argument
|
/xen-4.10.0-shim-comet/xen/arch/x86/mm/ |
A D | guest_walk.c | 120 gw->pfec = walk & (PFEC_user_mode | PFEC_write_access); in guest_walk_tables() 128 gw->pfec |= (walk & PFEC_insn_fetch); in guest_walk_tables() 144 gw->pfec |= PFEC_reserved_bit | PFEC_page_present; in guest_walk_tables() 161 gw->pfec |= rc & PFEC_synth_mask; in guest_walk_tables() 174 gw->pfec |= PFEC_reserved_bit | PFEC_page_present; in guest_walk_tables() 225 gw->pfec |= PFEC_reserved_bit | PFEC_page_present; in guest_walk_tables() 240 gw->pfec |= rc & PFEC_synth_mask; in guest_walk_tables() 273 gw->pfec |= PFEC_reserved_bit | PFEC_page_present; in guest_walk_tables() 334 gw->pfec |= rc & PFEC_synth_mask; in guest_walk_tables() 356 gw->pfec |= PFEC_page_present; in guest_walk_tables() [all …]
|
A D | p2m.c | 1975 uint32_t *pfec) in paging_gva_to_gfn() argument 1992 l2_gfn = mode->gva_to_gfn(v, p2m, va, pfec); in paging_gva_to_gfn() 2000 !!(*pfec & PFEC_write_access), in paging_gva_to_gfn() 2001 !!(*pfec & PFEC_insn_fetch)); in paging_gva_to_gfn() 2016 return hostmode->gva_to_gfn(v, hostp2m, va, pfec); in paging_gva_to_gfn() 2025 p2m_type_t *p2mt, p2m_query_t q, uint32_t *pfec) in map_domain_gfn() argument 2031 *pfec = PFEC_reserved_bit | PFEC_page_present; in map_domain_gfn() 2043 *pfec = PFEC_page_paged; in map_domain_gfn() 2050 *pfec = PFEC_page_shared; in map_domain_gfn() 2055 *pfec = 0; in map_domain_gfn() [all …]
|
/xen-4.10.0-shim-comet/xen/arch/x86/hvm/ |
A D | emulate.c | 676 uint32_t pfec, in hvmemul_linear_to_phys() argument 1036 uint32_t pfec = PFEC_page_present; in __hvmemul_read() local 1041 pfec |= PFEC_implicit; in __hvmemul_read() 1043 pfec |= PFEC_user_mode; in __hvmemul_read() 1163 pfec |= PFEC_implicit; in hvmemul_write() 1165 pfec |= PFEC_user_mode; in hvmemul_write() 1335 pfec |= PFEC_user_mode; in hvmemul_rep_ins() 1404 pfec |= PFEC_user_mode; in hvmemul_rep_outs() 1451 pfec |= PFEC_user_mode; in hvmemul_rep_movs() 1609 pfec |= PFEC_user_mode; in hvmemul_rep_stos() [all …]
|
A D | monitor.c | 120 uint32_t pfec = PFEC_page_present | PFEC_insn_fetch; in gfn_of_rip() local 123 pfec |= PFEC_user_mode; in gfn_of_rip() 127 return paging_gva_to_gfn(curr, sreg.base + rip, &pfec); in gfn_of_rip()
|
A D | hvm.c | 2681 uint32_t pfec; in hvm_map_entry() local 2696 pfec = PFEC_page_present; in hvm_map_entry() 2697 gfn = paging_gva_to_gfn(current, va, &pfec); in hvm_map_entry() 2698 if ( pfec & (PFEC_page_paged | PFEC_page_shared) ) in hvm_map_entry() 3128 gfn = _gfn(paging_gva_to_gfn(v, addr, &pfec)); in hvm_translate_get_page() 3132 if ( pfec & PFEC_page_paged ) in hvm_translate_get_page() 3135 if ( pfec & PFEC_page_shared ) in hvm_translate_get_page() 3141 pfinfo->ec = pfec & ~PFEC_implicit; in hvm_translate_get_page() 3200 uint32_t pfec, pagefault_info_t *pfinfo) in __hvm_copy() argument 3292 unsigned long addr, void *buf, int size, uint32_t pfec, in hvm_copy_to_guest_linear() argument [all …]
|
/xen-4.10.0-shim-comet/xen/include/asm-x86/hvm/ |
A D | support.h | 98 unsigned long addr, void *buf, int size, uint32_t pfec, 101 void *buf, unsigned long addr, int size, uint32_t pfec, 104 void *buf, unsigned long addr, int size, uint32_t pfec, 114 struct vcpu *v, unsigned long addr, bool linear, uint32_t pfec,
|
/xen-4.10.0-shim-comet/xen/include/asm-x86/ |
A D | guest_pt.h | 360 uint32_t pfec; /* Accumulated PFEC_* error code from walk. */ member 428 walk_t *gw, uint32_t pfec, mfn_t top_mfn, void *top_map); 453 gprintk(XENLOG_INFO, " pfec=%02x[%c%c%c%c%c%c]\n", gw->pfec, in print_gw() 454 gw->pfec & PFEC_prot_key ? 'K' : '-', in print_gw() 455 gw->pfec & PFEC_insn_fetch ? 'I' : 'd', in print_gw() 456 gw->pfec & PFEC_reserved_bit ? 'R' : '-', in print_gw() 457 gw->pfec & PFEC_user_mode ? 'U' : 's', in print_gw() 458 gw->pfec & PFEC_write_access ? 'W' : 'r', in print_gw() 459 gw->pfec & PFEC_page_present ? 'P' : '-' in print_gw()
|
A D | paging.h | 119 uint32_t *pfec); 123 paddr_t ga, uint32_t *pfec, 256 uint32_t *pfec); 268 uint32_t *pfec, in paging_ga_to_gfn_cr3() argument 272 return paging_get_hostmode(v)->p2m_ga_to_gfn(v, p2m, cr3, ga, pfec, in paging_ga_to_gfn_cr3()
|
A D | p2m.h | 699 p2m_type_t *p2mt, p2m_query_t q, uint32_t *pfec);
|
/xen-4.10.0-shim-comet/xen/arch/x86/mm/shadow/ |
A D | private.h | 762 uint32_t pfec; /* PF error code of the lookup that filled this member 782 unsigned long frame, uint32_t pfec) in vtlb_insert() argument 785 { .page_number = page, .frame_number = frame, .pfec = pfec }; in vtlb_insert() 793 unsigned long va, uint32_t pfec) in vtlb_lookup() argument 800 if ( v->arch.paging.vtlb[i].pfec != 0 in vtlb_lookup() 803 && (v->arch.paging.vtlb[i].pfec & pfec) == pfec ) in vtlb_lookup()
|
A D | none.c | 47 unsigned long va, uint32_t *pfec) in _gva_to_gfn() argument
|
A D | multi.c | 176 uint32_t pfec) in sh_walk_guest_tables() argument 178 return guest_walk_tables(v, p2m_get_hostp2m(v->domain), va, gw, pfec, in sh_walk_guest_tables() 3066 if ( gw.pfec & PFEC_page_present ) in sh_page_fault() 3075 regs->error_code = gw.pfec & PFEC_arch_mask; in sh_page_fault() 3704 unsigned long va, uint32_t *pfec) in sh_gva_to_gfn() argument 3714 unsigned long vtlb_gfn = vtlb_lookup(v, va, *pfec); in sh_gva_to_gfn() 3719 if ( !(walk_ok = sh_walk_guest_tables(v, va, &gw, *pfec)) ) in sh_gva_to_gfn() 3721 *pfec = gw.pfec; in sh_gva_to_gfn() 3728 vtlb_insert(v, va >> PAGE_SHIFT, gfn_x(gfn), *pfec); in sh_gva_to_gfn()
|
A D | common.c | 1641 uint32_t pfec = PFEC_page_present | PFEC_write_access; in emulate_gva_to_mfn() local 1644 gfn = paging_get_hostmode(v)->gva_to_gfn(v, NULL, vaddr, &pfec); in emulate_gva_to_mfn() 1647 x86_emul_pagefault(pfec, vaddr, &sh_ctxt->ctxt); in emulate_gva_to_mfn()
|
/xen-4.10.0-shim-comet/xen/arch/x86/ |
A D | debug.c | 49 uint32_t pfec = PFEC_page_present; in dbg_hvm_va2mfn() local 54 *gfn = _gfn(paging_gva_to_gfn(dp->vcpu[0], vaddr, &pfec)); in dbg_hvm_va2mfn()
|
/xen-4.10.0-shim-comet/xen/arch/x86/hvm/svm/ |
A D | nestedsvm.c | 1213 uint32_t pfec; in nsvm_hap_walk_L1_p2m() local 1218 pfec = PFEC_user_mode | PFEC_page_present; in nsvm_hap_walk_L1_p2m() 1220 pfec |= PFEC_write_access; in nsvm_hap_walk_L1_p2m() 1222 pfec |= PFEC_insn_fetch; in nsvm_hap_walk_L1_p2m() 1225 gfn = paging_ga_to_gfn_cr3(v, nested_cr3, L2_gpa, &pfec, page_order); in nsvm_hap_walk_L1_p2m()
|
A D | svm.c | 1687 struct cpu_user_regs *regs, uint64_t pfec, paddr_t gpa) in svm_do_nested_pgfault() argument 1702 .read_access = !(pfec & PFEC_insn_fetch), in svm_do_nested_pgfault() 1703 .write_access = !!(pfec & PFEC_write_access), in svm_do_nested_pgfault() 1704 .insn_fetch = !!(pfec & PFEC_insn_fetch), in svm_do_nested_pgfault() 1705 .present = !!(pfec & PFEC_page_present), in svm_do_nested_pgfault() 1709 if ( pfec & NPT_PFEC_with_gla ) in svm_do_nested_pgfault() 1711 else if ( pfec & NPT_PFEC_in_gpt ) in svm_do_nested_pgfault() 1742 nestedsvm_vmexit_defer(v, VMEXIT_NPF, pfec, gpa); in svm_do_nested_pgfault()
|