Lines Matching refs:vcpu
143 #define foreach_vcpu(idx, vm, vcpu) \ argument
144 for ((idx) = 0U, (vcpu) = &((vm)->hw.vcpu_array[(idx)]); \
146 (idx)++, (vcpu) = &((vm)->hw.vcpu_array[(idx)])) \
147 if ((vcpu)->state != VCPU_OFFLINE)
329 struct acrn_vcpu *vcpu; member
335 struct acrn_vcpu *vcpu; member
340 static inline bool is_vcpu_bsp(const struct acrn_vcpu *vcpu) in is_vcpu_bsp() argument
342 return (vcpu->vcpu_id == BSP_CPU_ID); in is_vcpu_bsp()
345 static inline enum vm_cpu_mode get_vcpu_mode(const struct acrn_vcpu *vcpu) in get_vcpu_mode() argument
347 return vcpu->arch.cpu_mode; in get_vcpu_mode()
351 static inline void vcpu_retain_rip(struct acrn_vcpu *vcpu) in vcpu_retain_rip() argument
353 (vcpu)->arch.inst_len = 0U; in vcpu_retain_rip()
356 static inline struct acrn_vlapic *vcpu_vlapic(struct acrn_vcpu *vcpu) in vcpu_vlapic() argument
358 return &(vcpu->arch.vlapic); in vcpu_vlapic()
370 static inline struct pi_desc *get_pi_desc(struct acrn_vcpu *vcpu) in get_pi_desc() argument
372 return &(vcpu->arch.pid); in get_pi_desc()
375 uint16_t pcpuid_from_vcpu(const struct acrn_vcpu *vcpu);
393 uint64_t vcpu_get_gpreg(const struct acrn_vcpu *vcpu, uint32_t reg);
404 void vcpu_set_gpreg(struct acrn_vcpu *vcpu, uint32_t reg, uint64_t val);
415 uint64_t vcpu_get_rip(struct acrn_vcpu *vcpu);
425 void vcpu_set_rip(struct acrn_vcpu *vcpu, uint64_t val);
436 uint64_t vcpu_get_rsp(const struct acrn_vcpu *vcpu);
446 void vcpu_set_rsp(struct acrn_vcpu *vcpu, uint64_t val);
457 uint64_t vcpu_get_efer(struct acrn_vcpu *vcpu);
467 void vcpu_set_efer(struct acrn_vcpu *vcpu, uint64_t val);
478 uint64_t vcpu_get_rflags(struct acrn_vcpu *vcpu);
488 void vcpu_set_rflags(struct acrn_vcpu *vcpu, uint64_t val);
500 uint64_t vcpu_get_guest_msr(const struct acrn_vcpu *vcpu, uint32_t msr);
511 void vcpu_set_guest_msr(struct acrn_vcpu *vcpu, uint32_t msr, uint64_t val);
518 void vcpu_set_vmcs_eoi_exit(const struct acrn_vcpu *vcpu);
526 void vcpu_reset_eoi_exit_bitmaps(struct acrn_vcpu *vcpu);
536 void vcpu_set_eoi_exit_bitmap(struct acrn_vcpu *vcpu, uint32_t vector);
545 void vcpu_clear_eoi_exit_bitmap(struct acrn_vcpu *vcpu, uint32_t vector);
554 void set_vcpu_regs(struct acrn_vcpu *vcpu, struct acrn_regs *vcpu_regs);
564 void reset_vcpu_regs(struct acrn_vcpu *vcpu, enum reset_mode mode);
576 void init_vcpu_protect_mode_regs(struct acrn_vcpu *vcpu, uint64_t vgdt_base_gpa);
586 void set_vcpu_startup_entry(struct acrn_vcpu *vcpu, uint64_t entry);
588 static inline bool is_long_mode(struct acrn_vcpu *vcpu) in is_long_mode() argument
590 return (vcpu_get_efer(vcpu) & MSR_IA32_EFER_LMA_BIT) != 0UL; in is_long_mode()
593 static inline bool is_paging_enabled(struct acrn_vcpu *vcpu) in is_paging_enabled() argument
595 return (vcpu_get_cr0(vcpu) & CR0_PG) != 0UL; in is_paging_enabled()
598 static inline bool is_pae(struct acrn_vcpu *vcpu) in is_pae() argument
600 return (vcpu_get_cr4(vcpu) & CR4_PAE) != 0UL; in is_pae()
606 void save_xsave_area(struct acrn_vcpu *vcpu, struct ext_context *ectx);
607 void rstore_xsave_area(const struct acrn_vcpu *vcpu, const struct ext_context *ectx);
608 void load_iwkey(struct acrn_vcpu *vcpu);
635 int32_t run_vcpu(struct acrn_vcpu *vcpu);
646 void offline_vcpu(struct acrn_vcpu *vcpu);
658 void reset_vcpu(struct acrn_vcpu *vcpu, enum reset_mode mode);
668 void zombie_vcpu(struct acrn_vcpu *vcpu, enum vcpu_state new_state);
679 void launch_vcpu(struct acrn_vcpu *vcpu);
688 void kick_vcpu(struct acrn_vcpu *vcpu);
724 static inline bool is_lapic_pt_enabled(struct acrn_vcpu *vcpu) in is_lapic_pt_enabled() argument
726 return vcpu->arch.lapic_pt_enabled; in is_lapic_pt_enabled()
748 void vcpu_set_state(struct acrn_vcpu *vcpu, enum vcpu_state new_state);