/xen/xen/arch/arm/vgic/ |
A D | vgic-mmio.h | 26 void (*write)(struct vcpu *vcpu, paddr_t addr, 80 unsigned long vgic_mmio_read_raz(struct vcpu *vcpu, 83 unsigned long vgic_mmio_read_rao(struct vcpu *vcpu, 92 void vgic_mmio_write_senable(struct vcpu *vcpu, 96 void vgic_mmio_write_cenable(struct vcpu *vcpu, 103 void vgic_mmio_write_spending(struct vcpu *vcpu, 107 void vgic_mmio_write_cpending(struct vcpu *vcpu, 114 void vgic_mmio_write_cactive(struct vcpu *vcpu, 118 void vgic_mmio_write_sactive(struct vcpu *vcpu, 125 void vgic_mmio_write_priority(struct vcpu *vcpu, [all …]
|
A D | vgic-mmio.c | 24 unsigned long vgic_mmio_read_raz(struct vcpu *vcpu, in vgic_mmio_read_raz() argument 30 unsigned long vgic_mmio_read_rao(struct vcpu *vcpu, in vgic_mmio_read_rao() argument 36 void vgic_mmio_write_wi(struct vcpu *vcpu, paddr_t addr, in vgic_mmio_write_wi() argument 46 unsigned long vgic_mmio_read_enable(struct vcpu *vcpu, in vgic_mmio_read_enable() argument 67 void vgic_mmio_write_senable(struct vcpu *vcpu, in vgic_mmio_write_senable() argument 112 void vgic_mmio_write_cenable(struct vcpu *vcpu, in vgic_mmio_write_cenable() argument 180 void vgic_mmio_write_spending(struct vcpu *vcpu, in vgic_mmio_write_spending() argument 228 void vgic_mmio_write_cpending(struct vcpu *vcpu, in vgic_mmio_write_cpending() argument 324 void vgic_mmio_write_cactive(struct vcpu *vcpu, in vgic_mmio_write_cactive() argument 354 void vgic_mmio_write_sactive(struct vcpu *vcpu, in vgic_mmio_write_sactive() argument [all …]
|
A D | vgic-mmio-v2.c | 23 static unsigned long vgic_mmio_read_v2_misc(struct vcpu *vcpu, in vgic_mmio_read_v2_misc() argument 50 static void vgic_mmio_write_v2_misc(struct vcpu *vcpu, in vgic_mmio_write_v2_misc() argument 113 struct vcpu *vcpu = d->vcpu[vcpu_id]; in vgic_mmio_write_sgir() local 127 static unsigned long vgic_mmio_read_target(struct vcpu *vcpu, in vgic_mmio_read_target() argument 136 struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i); in vgic_mmio_read_target() 146 static void vgic_mmio_write_target(struct vcpu *vcpu, in vgic_mmio_write_target() argument 168 irq->target_vcpu = vcpu->domain->vcpu[ffs(irq->targets) - 1]; in vgic_mmio_write_target() 184 static unsigned long vgic_mmio_read_sgipend(struct vcpu *vcpu, in vgic_mmio_read_sgipend() argument 195 struct vgic_irq *irq = vgic_get_irq(vcpu->domain, vcpu, intid + i); in vgic_mmio_read_sgipend() 205 static void vgic_mmio_write_sgipendc(struct vcpu *vcpu, in vgic_mmio_write_sgipendc() argument [all …]
|
A D | vgic.c | 246 static void vgic_sort_ap_list(struct vcpu *vcpu) in vgic_sort_ap_list() argument 284 struct vcpu *vcpu; in vgic_queue_irq_unlock() local 290 if ( irq->vcpu || !vcpu ) in vgic_queue_irq_unlock() 356 irq->vcpu = vcpu; in vgic_queue_irq_unlock() 423 static void vgic_prune_ap_list(struct vcpu *vcpu) in vgic_prune_ap_list() argument 438 BUG_ON(vcpu != irq->vcpu); in vgic_prune_ap_list() 521 static void vgic_fold_lr_state(struct vcpu *vcpu) in vgic_fold_lr_state() argument 527 static void vgic_populate_lr(struct vcpu *vcpu, in vgic_populate_lr() argument 600 void vgic_sync_from_lrs(struct vcpu *vcpu) in vgic_sync_from_lrs() argument 653 int vgic_vcpu_pending_irq(struct vcpu *vcpu) in vgic_vcpu_pending_irq() argument [all …]
|
A D | vgic.h | 48 struct vgic_irq *vgic_get_irq(struct domain *d, struct vcpu *vcpu, 66 void vgic_v2_fold_lr_state(struct vcpu *vcpu); 67 void vgic_v2_populate_lr(struct vcpu *vcpu, struct vgic_irq *irq, int lr); 68 void vgic_v2_set_underflow(struct vcpu *vcpu); 69 void vgic_v2_enable(struct vcpu *vcpu);
|
A D | vgic-init.c | 58 static void vgic_vcpu_early_init(struct vcpu *vcpu) in vgic_vcpu_early_init() argument 60 struct vgic_cpu *vgic_cpu = &vcpu->arch.vgic; in vgic_vcpu_early_init() 77 irq->vcpu = NULL; in vgic_vcpu_early_init() 78 irq->target_vcpu = vcpu; in vgic_vcpu_early_init() 79 irq->targets = 1U << vcpu->vcpu_id; in vgic_vcpu_early_init() 162 irq->vcpu = NULL; in domain_vgic_init() 201 int vcpu_vgic_init(struct vcpu *vcpu) in vcpu_vgic_init() argument 205 vgic_vcpu_early_init(vcpu); in vcpu_vgic_init() 208 vgic_v2_enable(vcpu); in vcpu_vgic_init() 242 int vcpu_vgic_free(struct vcpu *vcpu) in vcpu_vgic_free() argument [all …]
|
/xen/xen/include/asm-x86/hvm/ |
A D | hvm.h | 112 void (*vcpu_destroy)(struct vcpu *v); 143 void (*fpu_leave)(struct vcpu *v); 228 void (*setup)(struct vcpu *v); 243 int hvm_vcpu_initialise(struct vcpu *v); 244 void hvm_vcpu_destroy(struct vcpu *v); 245 void hvm_vcpu_down(struct vcpu *v); 286 void hvm_do_resume(struct vcpu *v); 288 void hvm_migrate_pirqs(struct vcpu *v); 387 hvm_guest_x86_mode(struct vcpu *v) in hvm_guest_x86_mode() 394 hvm_update_host_cr3(struct vcpu *v) in hvm_update_host_cr3() [all …]
|
A D | viridian.h | 21 struct vcpu *v; 67 void cpuid_viridian_leaves(const struct vcpu *v, uint32_t leaf, 70 int guest_wrmsr_viridian(struct vcpu *v, uint32_t idx, uint64_t val); 79 int viridian_vcpu_init(struct vcpu *v); 82 void viridian_vcpu_deinit(struct vcpu *v); 85 void viridian_apic_assist_set(const struct vcpu *v); 86 bool viridian_apic_assist_completed(const struct vcpu *v); 87 void viridian_apic_assist_clear(const struct vcpu *v); 89 void viridian_synic_poll(struct vcpu *v); 90 bool viridian_synic_is_auto_eoi_sint(const struct vcpu *v, [all …]
|
A D | vpt.h | 30 typedef void time_cb(struct vcpu *v, void *opaque); 45 struct vcpu *vcpu; /* vcpu timer interrupt delivers to */ member 119 struct vcpu *vcpu; /* Keeps sync with this vcpu's guest-time */ member 146 void pt_save_timer(struct vcpu *v); 147 void pt_restore_timer(struct vcpu *v); 148 int pt_update_irq(struct vcpu *v); 151 void pt_migrate(struct vcpu *v); 153 void pt_adjust_global_vcpu_target(struct vcpu *v); 157 (d)->vcpu ? (d)->vcpu[0] : NULL) 185 void rtc_migrate_timers(struct vcpu *v); [all …]
|
A D | emulate.h | 84 void hvmemul_cancel(struct vcpu *v); 120 int __must_check hvmemul_cache_init(struct vcpu *v); 121 static inline void hvmemul_cache_destroy(struct vcpu *v) in hvmemul_cache_destroy() 125 bool hvmemul_read_cache(const struct vcpu *, paddr_t gpa, 127 void hvmemul_write_cache(const struct vcpu *, paddr_t gpa, 129 unsigned int hvmemul_cache_disable(struct vcpu *); 130 void hvmemul_cache_restore(struct vcpu *, unsigned int token); 132 static inline bool hvmemul_cache_disabled(struct vcpu *v) in hvmemul_cache_disabled() 137 static inline bool hvmemul_read_cache(const struct vcpu *v, paddr_t gpa, in hvmemul_read_cache() 140 static inline void hvmemul_write_cache(const struct vcpu *v, paddr_t gpa, in hvmemul_write_cache()
|
A D | nestedhvm.h | 44 int nestedhvm_vcpu_initialise(struct vcpu *v); 45 void nestedhvm_vcpu_destroy(struct vcpu *v); 46 void nestedhvm_vcpu_reset(struct vcpu *v); 47 bool_t nestedhvm_vcpu_in_guestmode(struct vcpu *v); 61 int nestedhvm_hap_nested_page_fault(struct vcpu *v, paddr_t *L2_gpa, 64 int nestedhap_walk_L1_p2m(struct vcpu *v, paddr_t L2_gpa, paddr_t *L1_gpa, 78 static inline bool nestedhvm_is_n2(struct vcpu *v) in nestedhvm_is_n2() 88 static inline void nestedhvm_set_cr(struct vcpu *v, unsigned int cr, in nestedhvm_set_cr() 96 static inline bool vvmcx_valid(const struct vcpu *v) in vvmcx_valid()
|
/xen/xen/include/asm-x86/hvm/vmx/ |
A D | vvmx.h | 87 int nvmx_vcpu_initialise(struct vcpu *v); 88 void nvmx_vcpu_destroy(struct vcpu *v); 89 int nvmx_vcpu_reset(struct vcpu *v); 90 uint64_t nvmx_vcpu_eptp_base(struct vcpu *v); 96 bool_t nvmx_ept_enabled(struct vcpu *v); 169 #define get_vvmcs(vcpu, encoding) \ argument 171 get_vvmcs_real(vcpu, encoding) : \ 174 #define set_vvmcs(vcpu, encoding, val) \ argument 176 set_vvmcs_real(vcpu, encoding, val) : \ 189 void nvmx_destroy_vmcs(struct vcpu *v); [all …]
|
A D | vmcs.h | 23 extern void vmcs_dump_vcpu(struct vcpu *v); 191 int vmx_create_vmcs(struct vcpu *v); 192 void vmx_destroy_vmcs(struct vcpu *v); 193 void vmx_vmcs_enter(struct vcpu *v); 195 void vmx_vmcs_exit(struct vcpu *v); 196 void vmx_vmcs_reload(struct vcpu *v); 653 void virtual_vmcs_enter(const struct vcpu *); 654 void virtual_vmcs_exit(const struct vcpu *); 665 int vmx_vcpu_enable_pml(struct vcpu *v); 666 void vmx_vcpu_disable_pml(struct vcpu *v); [all …]
|
/xen/xen/include/asm-x86/hvm/svm/ |
A D | nestedsvm.h | 99 int nestedsvm_vmcb_map(struct vcpu *v, uint64_t vmcbaddr); 100 void nestedsvm_vmexit_defer(struct vcpu *v, 107 void svm_nested_features_on_efer_update(struct vcpu *v); 110 void nsvm_vcpu_destroy(struct vcpu *v); 111 int nsvm_vcpu_initialise(struct vcpu *v); 112 int nsvm_vcpu_reset(struct vcpu *v); 115 uint64_t nsvm_vcpu_hostcr3(struct vcpu *v); 117 struct vcpu *v, unsigned int vector, int errcode); 118 bool_t nsvm_vmcb_hap_enabled(struct vcpu *v); 119 enum hvm_intblk nsvm_intr_blocked(struct vcpu *v); [all …]
|
/xen/xen/arch/x86/x86_64/ |
A D | asm-offsets.c | 52 OFFSET(VCPU_processor, struct vcpu, processor); in __dummy__() 53 OFFSET(VCPU_domain, struct vcpu, domain); in __dummy__() 54 OFFSET(VCPU_vcpu_info, struct vcpu, vcpu_info); in __dummy__() 56 OFFSET(VCPU_thread_flags, struct vcpu, arch.flags); in __dummy__() 63 struct vcpu, arch.pv.syscall32_disables_events); in __dummy__() 67 struct vcpu, arch.pv.sysenter_disables_events); in __dummy__() 68 OFFSET(VCPU_trap_ctxt, struct vcpu, arch.pv.trap_ctxt); in __dummy__() 71 OFFSET(VCPU_iopl, struct vcpu, arch.pv.iopl); in __dummy__() 73 OFFSET(VCPU_cr3, struct vcpu, arch.cr3); in __dummy__() 74 OFFSET(VCPU_arch_msrs, struct vcpu, arch.msrs); in __dummy__() [all …]
|
/xen/xen/include/xen/ |
A D | domain.h | 16 struct vcpu *vcpu_create(struct domain *d, unsigned int vcpu_id); 19 struct vcpu *alloc_dom0_vcpu0(struct domain *dom0); 21 int vcpu_reset(struct vcpu *); 22 int vcpu_up(struct vcpu *v); 43 struct vcpu *alloc_vcpu_struct(const struct domain *d); 44 void free_vcpu_struct(struct vcpu *v); 60 int arch_vcpu_create(struct vcpu *v); 61 void arch_vcpu_destroy(struct vcpu *v); 64 void unmap_vcpu_info(struct vcpu *v); 91 void arch_dump_vcpu_info(struct vcpu *v); [all …]
|
A D | sched.h | 148 struct vcpu struct 158 struct vcpu *next_in_list; argument 324 struct vcpu **vcpu; member 701 void vcpu_wake(struct vcpu *v); 724 struct vcpu *prev, 725 struct vcpu *next); 733 void sched_context_switched(struct vcpu *prev, struct vcpu *vnext); 737 struct vcpu *same); 810 for ( (_v) = (_d)->vcpu ? (_d)->vcpu[0] : NULL; \ 864 void vcpu_unblock(struct vcpu *v); [all …]
|
/xen/xen/arch/x86/hvm/viridian/ |
A D | private.h | 10 int viridian_synic_wrmsr(struct vcpu *v, uint32_t idx, uint64_t val); 18 int viridian_synic_vcpu_init(const struct vcpu *v); 21 void viridian_synic_vcpu_deinit(const struct vcpu *v); 24 void viridian_synic_save_vcpu_ctxt(const struct vcpu *v, 27 struct vcpu *v, const struct hvm_viridian_vcpu_context *ctxt); 34 int viridian_time_wrmsr(struct vcpu *v, uint32_t idx, uint64_t val); 37 void viridian_time_poll_timers(struct vcpu *v); 39 int viridian_time_vcpu_init(struct vcpu *v); 42 void viridian_time_vcpu_deinit(const struct vcpu *v); 46 const struct vcpu *v, struct hvm_viridian_vcpu_context *ctxt); [all …]
|
/xen/xen/arch/x86/oprofile/ |
A D | backtrace.c | 33 dump_hypervisor_backtrace(struct vcpu *vcpu, const struct frame_head *head, in dump_hypervisor_backtrace() argument 36 if (!xenoprof_add_trace(vcpu, head->ret, mode)) in dump_hypervisor_backtrace() 47 static inline int is_32bit_vcpu(struct vcpu *vcpu) in is_32bit_vcpu() argument 49 if (is_hvm_vcpu(vcpu)) in is_32bit_vcpu() 50 return !hvm_long_mode_active(vcpu); in is_32bit_vcpu() 52 return is_pv_32bit_vcpu(vcpu); in is_32bit_vcpu() 56 dump_guest_backtrace(struct vcpu *vcpu, const struct frame_head *head, in dump_guest_backtrace() argument 61 if ( is_32bit_vcpu(vcpu) ) in dump_guest_backtrace() 87 if (!xenoprof_add_trace(vcpu, bufhead.ret, mode)) in dump_guest_backtrace() 147 void xenoprof_backtrace(struct vcpu *vcpu, const struct cpu_user_regs *regs, in xenoprof_backtrace() argument [all …]
|
/xen/xen/include/asm-x86/ |
A D | vpmu.h | 26 #define vcpu_vpmu(vcpu) (&(vcpu)->arch.vpmu) argument 28 #define vpmu_available(vcpu) vpmu_is_set(vcpu_vpmu(vcpu), VPMU_AVAILABLE) argument 46 void (*arch_vpmu_destroy)(struct vcpu *v); 49 void (*arch_vpmu_dump)(const struct vcpu *); 53 int vmx_vpmu_initialise(struct vcpu *); 56 int svm_vpmu_initialise(struct vcpu *); 111 void vpmu_initialise(struct vcpu *v); 112 void vpmu_destroy(struct vcpu *v); 113 void vpmu_save(struct vcpu *v); 114 int vpmu_load(struct vcpu *v, bool_t from_guest); [all …]
|
A D | paging.h | 97 void (*detach_old_tables )(struct vcpu *v); 126 bool (*invlpg )(struct vcpu *v, 128 unsigned long (*gva_to_gfn )(struct vcpu *v, 132 unsigned long (*p2m_ga_to_gfn )(struct vcpu *v, 210 void paging_vcpu_init(struct vcpu *v); 238 const struct paging_mode *paging_get_mode(struct vcpu *v); 239 void paging_update_nestedmode(struct vcpu *v); 253 struct vcpu *v = current; in paging_fault() 258 void paging_invlpg(struct vcpu *v, unsigned long va); 271 unsigned long paging_gva_to_gfn(struct vcpu *v, [all …]
|
A D | altp2m.h | 34 void altp2m_vcpu_initialise(struct vcpu *v); 35 void altp2m_vcpu_destroy(struct vcpu *v); 37 int altp2m_vcpu_enable_ve(struct vcpu *v, gfn_t gfn); 38 void altp2m_vcpu_disable_ve(struct vcpu *v); 40 static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v) in altp2m_vcpu_idx() 52 uint16_t altp2m_vcpu_idx(const struct vcpu *v); 53 void altp2m_vcpu_disable_ve(struct vcpu *v);
|
/xen/xen/include/asm-arm/ |
A D | vgic.h | 126 uint8_t vcpu[32]; member 227 int (*vcpu_init)(struct vcpu *v); 281 extern struct vcpu *vgic_get_target_vcpu(struct vcpu *v, unsigned int virq); 295 extern bool vgic_to_sgi(struct vcpu *v, register_t sgir, 298 extern bool vgic_migrate_irq(struct vcpu *old, struct vcpu *new, unsigned int irq); 336 bool vgic_evtchn_irq_pending(struct vcpu *v); 341 int vcpu_vgic_init(struct vcpu *vcpu); 342 int vcpu_vgic_free(struct vcpu *vcpu); 347 extern void vgic_clear_pending_irqs(struct vcpu *v); 366 void vgic_sync_from_lrs(struct vcpu *v); [all …]
|
/xen/xen/include/asm-x86/pv/ |
A D | domain.h | 57 static inline unsigned long get_pcid_bits(const struct vcpu *v, bool is_xpti) in get_pcid_bits() 70 void pv_vcpu_destroy(struct vcpu *v); 71 int pv_vcpu_initialise(struct vcpu *v); 87 unsigned long pv_fixup_guest_cr4(const struct vcpu *v, unsigned long cr4); 90 unsigned long pv_make_cr4(const struct vcpu *v); 98 static inline void pv_vcpu_destroy(struct vcpu *v) {} in pv_vcpu_destroy() 99 static inline int pv_vcpu_initialise(struct vcpu *v) { return -EOPNOTSUPP; } in pv_vcpu_initialise() 103 static inline unsigned long pv_make_cr4(const struct vcpu *v) { return ~0ul; } in pv_make_cr4() 107 void paravirt_ctxt_switch_from(struct vcpu *v); 108 void paravirt_ctxt_switch_to(struct vcpu *v);
|
/xen/xen/arch/x86/cpu/mcheck/ |
A D | vmce.h | 9 && hardware_domain->vcpu[0] \ 10 && guest_enabled_event(hardware_domain->vcpu[0], VIRQ_MCA)) 14 int vmce_intel_rdmsr(const struct vcpu *, uint32_t msr, uint64_t *val); 15 int vmce_intel_wrmsr(struct vcpu *, uint32_t msr, uint64_t val); 16 int vmce_amd_rdmsr(const struct vcpu *, uint32_t msr, uint64_t *val); 17 int vmce_amd_wrmsr(struct vcpu *, uint32_t msr, uint64_t val); 23 int inject_vmce(struct domain *d, int vcpu);
|