/linux-2.6.39/arch/x86/kvm/ |
D | mmu.c | 185 typedef void (*mmu_parent_walk_fn) (struct kvm_mmu_page *sp, u64 *spte); 285 static void __set_spte(u64 *sptep, u64 spte) in __set_spte() argument 287 set_64bit(sptep, spte); in __set_spte() 305 static bool spte_has_volatile_bits(u64 spte) in spte_has_volatile_bits() argument 310 if (!is_shadow_present_pte(spte)) in spte_has_volatile_bits() 313 if ((spte & shadow_accessed_mask) && in spte_has_volatile_bits() 314 (!is_writable_pte(spte) || (spte & shadow_dirty_mask))) in spte_has_volatile_bits() 621 static int rmap_add(struct kvm_vcpu *vcpu, u64 *spte, gfn_t gfn) in rmap_add() argument 628 if (!is_rmap_spte(*spte)) in rmap_add() 630 sp = page_header(__pa(spte)); in rmap_add() [all …]
|
D | mmu_audit.c | 198 u64 *spte; in audit_write_protection() local 206 spte = rmap_next(kvm, rmapp, NULL); in audit_write_protection() 207 while (spte) { in audit_write_protection() 208 if (is_writable_pte(*spte)) in audit_write_protection() 212 spte = rmap_next(kvm, rmapp, spte); in audit_write_protection()
|
D | paging_tmpl.h | 303 struct kvm_mmu_page *sp, u64 *spte, in FNAME() 323 drop_spte(vcpu->kvm, spte, nonpresent); in FNAME() 328 u64 *spte, const void *pte, unsigned long mmu_seq) in FNAME() 335 if (FNAME(prefetch_invalid_gpte)(vcpu, sp, spte, gpte)) in FNAME() 338 pgprintk("%s: gpte %llx spte %p\n", __func__, (u64)gpte, spte); in FNAME() 352 mmu_set_spte(vcpu, spte, sp->role.access, pte_access, 0, 0, in FNAME() 385 u64 *spte; in FNAME() local 397 spte = sp->spt + i; in FNAME() 399 for (i = 0; i < PTE_PREFETCH_NUM; i++, spte++) { in FNAME() 406 if (spte == sptep) in FNAME() [all …]
|
D | vmx.c | 3588 static u64 ept_rsvd_mask(u64 spte, int level) in ept_rsvd_mask() argument 3600 if (spte & (1ULL << 7)) in ept_rsvd_mask() 3611 static void ept_misconfig_inspect_spte(struct kvm_vcpu *vcpu, u64 spte, in ept_misconfig_inspect_spte() argument 3614 printk(KERN_ERR "%s: spte 0x%llx level %d\n", __func__, spte, level); in ept_misconfig_inspect_spte() 3617 WARN_ON((spte & 0x7) == 0x2); in ept_misconfig_inspect_spte() 3620 WARN_ON((spte & 0x7) == 0x6); in ept_misconfig_inspect_spte() 3624 WARN_ON((spte & 0x7) == 0x4); in ept_misconfig_inspect_spte() 3627 if ((spte & 0x7)) { in ept_misconfig_inspect_spte() 3628 u64 rsvd_bits = spte & ept_rsvd_mask(spte, level); in ept_misconfig_inspect_spte() 3636 if (level == 1 || (level == 2 && (spte & (1ULL << 7)))) { in ept_misconfig_inspect_spte() [all …]
|
/linux-2.6.39/arch/x86/mm/ |
D | hugetlbpage.c | 70 pte_t *spte = NULL; in huge_pmd_share() local 82 spte = huge_pte_offset(svma->vm_mm, saddr); in huge_pmd_share() 83 if (spte) { in huge_pmd_share() 84 get_page(virt_to_page(spte)); in huge_pmd_share() 90 if (!spte) in huge_pmd_share() 95 pud_populate(mm, pud, (pmd_t *)((unsigned long)spte & PAGE_MASK)); in huge_pmd_share() 97 put_page(virt_to_page(spte)); in huge_pmd_share()
|
/linux-2.6.39/Documentation/kvm/ |
D | mmu.txt | 42 spte shadow pte (referring to pfns) 109 A nonleaf spte allows the hardware mmu to reach the leaf pages and 112 A leaf spte corresponds to either one or two translations encoded into 200 If multimapped is zero, parent_pte points at the single spte that points at 270 - walk the shadow page table to find the spte for the translation, 307 we cannot map the permissions for gpte.u=1, gpte.w=0 to any spte (the 313 - kernel write fault: spte.u=0, spte.w=1 (allows full kernel access, 315 - read fault: spte.u=1, spte.w=0 (allows full read access, disallows kernel 328 To instantiate a large spte, four constraints must be satisfied: 330 - the spte must point to a large host page [all …]
|
/linux-2.6.39/drivers/lguest/ |
D | page_tables.c | 319 pte_t *spte; in demand_page() local 430 spte = spte_addr(cpu, *spgd, vaddr); in demand_page() 436 release_pte(*spte); in demand_page() 443 *spte = gpte_to_spte(cpu, gpte, 1); in demand_page() 451 set_pte(spte, gpte_to_spte(cpu, pte_wrprotect(gpte), 0)); in demand_page() 826 pte_t *spte = spte_addr(cpu, *spgd, vaddr); in do_set_pte() local 827 release_pte(*spte); in do_set_pte() 837 set_pte(spte, in do_set_pte() 845 set_pte(spte, __pte(0)); in do_set_pte()
|
/linux-2.6.39/arch/x86/include/asm/ |
D | kvm_host.h | 259 u64 *spte, const void *pte, unsigned long mmu_seq);
|