Home
last modified time | relevance | path

Searched refs:paging (Results 1 – 25 of 27) sorted by relevance

12

/xen/tools/xenpaging/
A Dxenpaging.c442 paging->bitmap = bitmap_alloc(paging->max_pages); in xenpaging_init()
451 paging->slot_to_gfn = calloc(paging->max_pages, sizeof(*paging->slot_to_gfn)); in xenpaging_init()
452 paging->gfn_to_slot = calloc(paging->max_pages, sizeof(*paging->gfn_to_slot)); in xenpaging_init()
453 if ( !paging->slot_to_gfn || !paging->gfn_to_slot ) in xenpaging_init()
457 paging->free_slot_stack = calloc(paging->max_pages, sizeof(*paging->free_slot_stack)); in xenpaging_init()
487 if ( paging ) in xenpaging_init()
681 if (paging->num_paged_out > paging->policy_mru_size) in xenpaging_resume_page()
703 ret = read_page(paging->fd, paging->paging_buffer, i); in xenpaging_populate_page()
822 slot = paging->free_slot_stack[--paging->stack_count]; in evict_pages()
999 resume_pages(paging, paging->num_paged_out); in main()
[all …]
A Dpolicy_default.c39 int policy_init(struct xenpaging *paging) in policy_init() argument
44 max_pages = paging->max_pages; in policy_init()
56 if ( paging->policy_mru_size > 0 ) in policy_init()
57 mru_size = paging->policy_mru_size; in policy_init()
59 mru_size = paging->policy_mru_size = DEFAULT_MRU_SIZE; in policy_init()
79 unsigned long policy_choose_victim(struct xenpaging *paging) in policy_choose_victim() argument
81 xc_interface *xch = paging->xc_handle; in policy_choose_victim()
121 paging->use_poll_timeout = 1; in policy_choose_victim()
A Dpagein.c63 void create_page_in_thread(struct xenpaging *paging) in create_page_in_thread() argument
65 page_in_args.dom = paging->vm_event.domain_id; in create_page_in_thread()
66 page_in_args.pagein_queue = paging->pagein_queue; in create_page_in_thread()
67 page_in_args.xch = paging->xc_handle; in create_page_in_thread()
A Dpolicy.h30 int policy_init(struct xenpaging *paging);
31 unsigned long policy_choose_victim(struct xenpaging *paging);
A Dxenpaging.h70 extern void create_page_in_thread(struct xenpaging *paging);
/xen/xen/arch/x86/mm/
A Dpaging.c58 page = d->arch.paging.alloc_page(d); in paging_new_log_dirty_page()
65 d->arch.paging.log_dirty.allocs++; in paging_new_log_dirty_page()
106 d->arch.paging.log_dirty.allocs--; in paging_free_log_dirty_page()
123 if ( !d->arch.paging.preempt.dom ) in paging_free_log_dirty_bitmap()
199 d->arch.paging.preempt.dom = NULL; in paging_free_log_dirty_bitmap()
370 mfn = d->arch.paging.log_dirty.top; in paging_mfn_is_dirty()
433 if ( !d->arch.paging.preempt.dom ) in paging_log_dirty_op()
573 d->arch.paging.preempt.dom = NULL; in paging_log_dirty_op()
628 d->arch.paging.log_dirty.ops = ops; in paging_log_dirty_init()
642 mm_lock_init(&d->arch.paging.lock); in paging_domain_init()
[all …]
A Dmm-locks.h389 declare_mm_lock(paging)
390 #define paging_lock(d) mm_lock(paging, d, &(d)->arch.paging.lock)
392 mm_lock_recursive(paging, d, &(d)->arch.paging.lock)
393 #define paging_unlock(d) mm_unlock(&(d)->arch.paging.lock)
394 #define paging_locked_by_me(d) mm_locked_by_me(&(d)->arch.paging.lock)
A DMakefile12 obj-y += paging.o
A Dp2m.c662 ASSERT(p2m->domain->arch.paging.alloc_page); in p2m_alloc_ptp()
663 pg = p2m->domain->arch.paging.alloc_page(p2m->domain); in p2m_alloc_ptp()
681 ASSERT(p2m->domain->arch.paging.free_page); in p2m_free_ptp()
684 p2m->domain->arch.paging.free_page(p2m->domain, pg); in p2m_free_ptp()
757 d->arch.paging.free_page(d, pg); in p2m_teardown()
1565 d->arch.paging.free_page(d, pg); in p2m_flush_table_locked()
/xen/xen/arch/x86/mm/shadow/
A Dcommon.c64 d->arch.paging.shadow.oos_active = 0; in shadow_domain_init()
93 v->arch.paging.mode = is_pv_vcpu(v) ? in shadow_vcpu_init()
220 oos = v->arch.paging.shadow.oos; in oos_audit_hash_is_present()
2419 if ( v->arch.paging.mode ) in sh_update_paging_modes()
2448 v->arch.paging.mode = in sh_update_paging_modes()
2454 v->arch.paging.mode = in sh_update_paging_modes()
2460 v->arch.paging.mode = in sh_update_paging_modes()
2579 d->arch.paging.mode = new_mode; in sh_new_mode()
2739 if ( v->arch.paging.vtlb ) in shadow_teardown()
2882 if ( d->arch.paging.mode == 0 ) in shadow_one_bit_enable()
[all …]
A Dprivate.h579 pin_list = &d->arch.paging.shadow.pinned_shadows; in prev_pinned_shadow()
626 pin_list = &d->arch.paging.shadow.pinned_shadows; in sh_pin()
679 pin_list = &d->arch.paging.shadow.pinned_shadows; in sh_unpin()
764 spin_lock(&v->arch.paging.vtlb_lock); in vtlb_flush()
766 spin_unlock(&v->arch.paging.vtlb_lock); in vtlb_flush()
780 spin_lock(&v->arch.paging.vtlb_lock); in vtlb_insert()
781 v->arch.paging.vtlb[vtlb_hash(page)] = entry; in vtlb_insert()
782 spin_unlock(&v->arch.paging.vtlb_lock); in vtlb_insert()
793 spin_lock(&v->arch.paging.vtlb_lock); in vtlb_lookup()
794 if ( v->arch.paging.vtlb[i].pfec != 0 in vtlb_lookup()
[all …]
A Dhvm.c230 v->arch.paging.mode->shadow.trace_emul_write_val(ptr, addr, in hvm_emulate_write()
444 v->arch.paging.last_write_was_pt = !!sh_mfn_is_a_page_table(mfn); in emulate_gva_to_mfn()
565 if ( ( v->arch.paging.shadow.pagetable_dying in check_for_early_unshadow()
566 || ( !d->arch.paging.shadow.pagetable_dying_op in check_for_early_unshadow()
567 && v->arch.paging.shadow.last_emulated_mfn_for_unshadow == mfn_x(gmfn) ) ) in check_for_early_unshadow()
569 && (!d->arch.paging.shadow.pagetable_dying_op || in check_for_early_unshadow()
577 v->arch.paging.shadow.last_emulated_mfn_for_unshadow = mfn_x(gmfn); in check_for_early_unshadow()
691 atomic_inc(&v->domain->arch.paging.shadow.gtable_dirty_version); in sh_emulate_unmap_dest()
A Dmulti.c2811 if ( v->arch.paging.last_write_emul_ok in sh_page_fault()
3233 d->arch.paging.log_dirty.fault_count++; in sh_page_fault()
3424 v->arch.paging.last_write_emul_ok = 0; in sh_page_fault()
3536 v->arch.paging.last_write_emul_ok = 0; in sh_invlpg()
3779 sl3e = v->arch.paging.shadow.l3table; in sh_update_linear_entries()
3948 ASSERT(v->arch.paging.mode); in sh_update_cr3()
3993 v->arch.paging.shadow.gl3e[i] = gl3e[i]; in sh_update_cr3()
4138 v->arch.paging.last_write_emul_ok = 0; in sh_update_cr3()
4174 curr->arch.paging.shadow.pagetable_dying in sh_rm_write_access_from_sl1p()
4510 v->arch.paging.shadow.pagetable_dying = 1; in sh_pagetable_dying()
[all …]
A Dnone.c83 v->arch.paging.mode = &sh_paging_none; in shadow_vcpu_init()
/xen/xen/arch/x86/mm/hap/
A Dhap.c195 d->arch.paging.mode |= PG_log_dirty; in hap_enable_log_dirty()
216 d->arch.paging.mode &= ~PG_log_dirty; in hap_disable_log_dirty()
253 d->arch.paging.hap.free_pages--; in hap_alloc()
266 d->arch.paging.hap.free_pages++; in hap_free()
281 d->arch.paging.hap.total_pages--; in hap_alloc_p2m_page()
282 d->arch.paging.hap.p2m_pages++; in hap_alloc_p2m_page()
316 d->arch.paging.hap.p2m_pages--; in hap_free_p2m_page()
317 d->arch.paging.hap.total_pages++; in hap_free_p2m_page()
327 + d->arch.paging.hap.p2m_pages; in hap_get_allocation()
451 if ( d->arch.paging.mode != 0 ) in hap_enable()
[all …]
/xen/xen/include/asm-x86/
A Dpaging.h76 #define paging_mode_enabled(_d) (!!(_d)->arch.paging.mode)
77 #define paging_mode_shadow(_d) (!!((_d)->arch.paging.mode & PG_SH_enable))
78 #define paging_mode_sh_forced(_d) (!!((_d)->arch.paging.mode & PG_SH_forced))
79 #define paging_mode_hap(_d) (!!((_d)->arch.paging.mode & PG_HAP_enable))
81 #define paging_mode_refcounts(_d) (!!((_d)->arch.paging.mode & PG_refcounts))
82 #define paging_mode_log_dirty(_d) (!!((_d)->arch.paging.mode & PG_log_dirty))
83 #define paging_mode_translate(_d) (!!((_d)->arch.paging.mode & PG_translate))
84 #define paging_mode_external(_d) (!!((_d)->arch.paging.mode & PG_external))
236 #define paging_get_hostmode(v) ((v)->arch.paging.mode)
237 #define paging_get_nestedmode(v) ((v)->arch.paging.nestedmode)
A Dshadow.h187 struct tasklet *t = &d->arch.paging.shadow.pv_l1tf_tasklet; in pv_l1tf_check_pte()
242 tasklet_init(&d->arch.paging.shadow.pv_l1tf_tasklet, pv_l1tf_tasklet, d); in pv_l1tf_domain_init()
249 tasklet_kill(&d->arch.paging.shadow.pv_l1tf_tasklet); in pv_l1tf_domain_destroy()
A Ddomain.h316 struct paging_domain paging; member
633 struct paging_vcpu paging; member
/xen/xen/arch/x86/
A DKconfig123 Shadow paging is a software alternative to hardware paging support
127 * Running HVM guests on hardware lacking hardware paging support
132 Under a small number of specific workloads, shadow paging may be
A Ddomain.c2093 PROGRESS(paging): in domain_relinquish_resources()
/xen/docs/misc/
A Dxenpaging.txt19 paging-aware backend drivers to handle paged granttable entries.
A Dxen-command-line.pandoc721 paging. This option is unavailable when `CONFIG_SHADOW_PAGING` is
725 shadow paging otherwise. A PVH dom0 cannot be used if Xen is compiled
726 without shadow paging support, and the hardware lacks HAP support.
729 guests do no require any paging support by default.
1146 virtualised case using shadow paging. These are not easy for Xen to spot, so
1689 paging controls access to usermode addresses.
/xen/xen/arch/x86/boot/
A Dwakeup.S91 # Now in protect mode, with paging disabled
/xen/xen/arch/x86/pv/
A Ddom0_build.c706 d->arch.paging.mode = 0; in dom0_construct_pv()
913 tasklet_schedule(&d->arch.paging.shadow.pv_l1tf_tasklet); in dom0_construct_pv()
/xen/xen/arch/x86/hvm/vmx/
A Dvmcs.c1608 v->arch.hvm.vmx.pml_pg = v->domain->arch.paging.alloc_page(v->domain); in vmx_vcpu_enable_pml()
1643 v->domain->arch.paging.free_page(v->domain, v->arch.hvm.vmx.pml_pg); in vmx_vcpu_disable_pml()

Completed in 56 milliseconds

12