/freebsd/sys/amd64/vmm/ |
H A D | vmm.c | 102 struct vcpu { struct 104 enum vcpu_state state; /* (o) vcpu state */ argument 105 int vcpuid; /* (o) */ argument 106 int hostcpu; /* (o) vcpu's host cpu */ argument 107 int reqidle; /* (i) request vcpu to idle */ argument 128 #define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_SPIN) argument 187 struct vcpu **vcpu; /* (o) guest vcpus */ member 197 #define VMM_CTR0(vcpu, format) \ argument 200 #define VMM_CTR1(vcpu, format, p1) \ argument 203 #define VMM_CTR2(vcpu, format, p1, p2) \ argument [all …]
|
H A D | vmm_lapic.c | 51 lapic_set_intr(struct vcpu *vcpu, int vector, bool level) in lapic_set_intr() 69 lapic_set_local_intr(struct vm *vm, struct vcpu *vcpu, int vector) in lapic_set_local_intr() 151 lapic_rdmsr(struct vcpu *vcpu, u_int msr, uint64_t *rval, bool *retu) in lapic_rdmsr() 171 lapic_wrmsr(struct vcpu *vcpu, u_int msr, uint64_t val, bool *retu) in lapic_wrmsr() 190 lapic_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size, in lapic_mmio_write() 212 lapic_mmio_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size, in lapic_mmio_read()
|
H A D | vmm_ioport.c | 101 emulate_inout_port(struct vcpu *vcpu, struct vm_exit *vmexit, bool *retu) in emulate_inout_port() 148 emulate_inout_str(struct vcpu *vcpu, struct vm_exit *vmexit, bool *retu) in emulate_inout_str() 155 vm_handle_inout(struct vcpu *vcpu, struct vm_exit *vmexit, bool *retu) in vm_handle_inout()
|
H A D | vmm_instruction_emul.c | 289 vie_read_register(struct vcpu *vcpu, enum vm_reg_name reg, uint64_t *rval) in vie_read_register() 325 vie_read_bytereg(struct vcpu *vcpu, struct vie *vie, uint8_t *rval) in vie_read_bytereg() 346 vie_write_bytereg(struct vcpu *vcpu, struct vie *vie, uint8_t byte) in vie_write_bytereg() 372 vie_update_register(struct vcpu *vcpu, enum vm_reg_name reg, in vie_update_register() 508 emulate_mov(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_mov() 622 emulate_movx(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_movx() 710 get_gla(struct vcpu *vcpu, struct vie *vie __unused, in get_gla() 763 emulate_movs(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_movs() 945 emulate_stos(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_stos() 1007 emulate_and(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_and() [all …]
|
H A D | vmm_lapic.h | 53 lapic_intr_level(struct vcpu *vcpu, int vector) in lapic_intr_level() 60 lapic_intr_edge(struct vcpu *vcpu, int vector) in lapic_intr_edge()
|
/freebsd/sys/riscv/vmm/ |
H A D | vmm.c | 80 struct vcpu { struct 82 enum vcpu_state state; argument 84 int hostcpu; /* host cpuid this vcpu last ran on */ argument 85 int vcpuid; argument 95 #define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_SPIN) argument 146 struct vcpu **vcpu; /* (i) guest vcpus */ member 191 vcpu_cleanup(struct vcpu *vcpu, bool destroy) in vcpu_cleanup() 205 struct vcpu *vcpu; in vcpu_alloc() local 222 vcpu_init(struct vcpu *vcpu) in vcpu_init() 231 vm_exitinfo(struct vcpu *vcpu) in vm_exitinfo() [all …]
|
H A D | vmm_sbi.c | 64 vmm_sbi_handle_rfnc(struct vcpu *vcpu, struct hypctx *hypctx) in vmm_sbi_handle_rfnc() 125 vmm_sbi_handle_time(struct vcpu *vcpu, struct hypctx *hypctx) in vmm_sbi_handle_time() 150 vmm_sbi_handle_ipi(struct vcpu *vcpu, struct hypctx *hypctx) in vmm_sbi_handle_ipi() 197 vmm_sbi_ecall(struct vcpu *vcpu, bool *retu) in vmm_sbi_ecall()
|
H A D | vmm_instruction_emul.c | 60 vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in vmm_emulate_instruction() 89 vmm_emulate_register(struct vcpu *vcpu, struct vre *vre, reg_read_t regread, in vmm_emulate_register()
|
/freebsd/sys/arm64/vmm/ |
H A D | vmm.c | 76 struct vcpu { struct 78 enum vcpu_state state; argument 80 int hostcpu; /* host cpuid this vcpu last ran on */ argument 81 int vcpuid; argument 91 #define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_SPIN) argument 151 struct vcpu **vcpu; /* (i) guest vcpus */ member 290 vcpu_cleanup(struct vcpu *vcpu, bool destroy) in vcpu_cleanup() 304 struct vcpu *vcpu; in vcpu_alloc() local 321 vcpu_init(struct vcpu *vcpu) in vcpu_init() 330 vm_exitinfo(struct vcpu *vcpu) in vm_exitinfo() [all …]
|
H A D | vmm_reset.c | 49 reset_vm_el01_regs(void *vcpu) in reset_vm_el01_regs() 112 reset_vm_el2_regs(void *vcpu) in reset_vm_el2_regs()
|
/freebsd/sys/amd64/vmm/amd/ |
H A D | svm_softc.h | 52 struct vcpu *vcpu; member 77 #define SVM_CTR0(vcpu, format) \ argument 80 #define SVM_CTR1(vcpu, format, p1) \ argument 83 #define SVM_CTR2(vcpu, format, p1, p2) \ argument 86 #define SVM_CTR3(vcpu, format, p1, p2, p3) \ argument 89 #define SVM_CTR4(vcpu, format, p1, p2, p3, p4) \ argument 93 svm_get_vmcb(struct svm_vcpu *vcpu) in svm_get_vmcb() 100 svm_get_vmcb_state(struct svm_vcpu *vcpu) in svm_get_vmcb_state() 107 svm_get_vmcb_ctrl(struct svm_vcpu *vcpu) in svm_get_vmcb_ctrl() 114 svm_get_guest_regctx(struct svm_vcpu *vcpu) in svm_get_guest_regctx() [all …]
|
H A D | vmcb.c | 118 vmcb_access(struct svm_vcpu *vcpu, int write, int ident, uint64_t *val) in vmcb_access() 162 vmcb_read(struct svm_vcpu *vcpu, int ident, uint64_t *retval) in vmcb_read() 268 vmcb_write(struct svm_vcpu *vcpu, int ident, uint64_t val) in vmcb_write() 381 vmcb_setdesc(struct svm_vcpu *vcpu, int reg, struct seg_desc *desc) in vmcb_setdesc() 431 vmcb_getdesc(struct svm_vcpu *vcpu, int reg, struct seg_desc *desc) in vmcb_getdesc() 471 vmcb_getany(struct svm_vcpu *vcpu, int ident, uint64_t *val) in vmcb_getany() 487 vmcb_setany(struct svm_vcpu *vcpu, int ident, uint64_t val) in vmcb_setany() 503 vmcb_snapshot_desc(struct svm_vcpu *vcpu, int reg, in vmcb_snapshot_desc() 535 vmcb_snapshot_any(struct svm_vcpu *vcpu, int ident, in vmcb_snapshot_any()
|
H A D | svm.c | 294 svm_set_tsc_offset(struct svm_vcpu *vcpu, uint64_t offset) in svm_set_tsc_offset() 390 svm_get_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask) in svm_get_intercept() 401 svm_set_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask, int enabled) in svm_set_intercept() 424 svm_disable_intercept(struct svm_vcpu *vcpu, int off, uint32_t bitmask) in svm_disable_intercept() 431 svm_enable_intercept(struct svm_vcpu *vcpu, int off, uint32_t bitmask) in svm_enable_intercept() 438 vmcb_init(struct svm_softc *sc, struct svm_vcpu *vcpu, uint64_t iopm_base_pa, in vmcb_init() 620 struct svm_vcpu *vcpu; in svm_vcpu_init() local 729 svm_inout_str_seginfo(struct svm_vcpu *vcpu, int64_t info1, int in, in svm_inout_str_seginfo() 783 svm_handle_io(struct svm_vcpu *vcpu, struct vm_exit *vmexit) in svm_handle_io() 940 svm_eventinject(struct svm_vcpu *vcpu, int intr_type, int vector, in svm_eventinject() [all …]
|
H A D | svm_msr.c | 73 svm_msr_guest_init(struct svm_softc *sc, struct svm_vcpu *vcpu) in svm_msr_guest_init() 87 svm_msr_guest_enter(struct svm_vcpu *vcpu) in svm_msr_guest_enter() 95 svm_msr_guest_exit(struct svm_vcpu *vcpu) in svm_msr_guest_exit() 109 svm_rdmsr(struct svm_vcpu *vcpu, u_int num, uint64_t *result, bool *retu) in svm_rdmsr() 142 svm_wrmsr(struct svm_vcpu *vcpu, u_int num, uint64_t val, bool *retu) in svm_wrmsr()
|
/freebsd/usr.sbin/bhyve/aarch64/ |
H A D | vmexit.c | 60 vmexit_inst_emul(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_inst_emul() 104 vmexit_suspend(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_suspend() 132 vmexit_debug(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_debug() 173 for (int vcpu = 0; vcpu < guest_ncpus; vcpu++) { in smccc_affinity_info() local 192 vmexit_smccc(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_smccc() 266 vmexit_hyp(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_hyp() 278 vmexit_brk(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_brk() 285 vmexit_ss(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_ss()
|
/freebsd/sys/amd64/vmm/intel/ |
H A D | vmx.c | 1134 struct vmx_vcpu *vcpu; in vmx_vcpu_init() local 1249 vmx_handle_cpuid(struct vmx_vcpu *vcpu, struct vmxctx *vmxctx) in vmx_handle_cpuid() 1260 vmx_run_trace(struct vmx_vcpu *vcpu) in vmx_run_trace() 1266 vmx_exit_trace(struct vmx_vcpu *vcpu, uint64_t rip, uint32_t exit_reason, in vmx_exit_trace() 1275 vmx_astpending_trace(struct vmx_vcpu *vcpu, uint64_t rip) in vmx_astpending_trace() 1287 vmx_invvpid(struct vmx *vmx, struct vmx_vcpu *vcpu, pmap_t pmap, int running) in vmx_invvpid() 1344 vmx_set_pcpu_defaults(struct vmx *vmx, struct vmx_vcpu *vcpu, pmap_t pmap) in vmx_set_pcpu_defaults() 1368 vmx_set_int_window_exiting(struct vmx_vcpu *vcpu) in vmx_set_int_window_exiting() 1379 vmx_clear_int_window_exiting(struct vmx_vcpu *vcpu) in vmx_clear_int_window_exiting() 1390 vmx_set_nmi_window_exiting(struct vmx_vcpu *vcpu) in vmx_set_nmi_window_exiting() [all …]
|
H A D | vmx_msr.c | 312 vmx_msr_guest_init(struct vmx *vmx, struct vmx_vcpu *vcpu) in vmx_msr_guest_init() 342 vmx_msr_guest_enter(struct vmx_vcpu *vcpu) in vmx_msr_guest_enter() 355 vmx_msr_guest_enter_tsc_aux(struct vmx *vmx, struct vmx_vcpu *vcpu) in vmx_msr_guest_enter_tsc_aux() 365 vmx_msr_guest_exit(struct vmx_vcpu *vcpu) in vmx_msr_guest_exit() 385 vmx_msr_guest_exit_tsc_aux(struct vmx *vmx, struct vmx_vcpu *vcpu) in vmx_msr_guest_exit_tsc_aux() 402 vmx_rdmsr(struct vmx_vcpu *vcpu, u_int num, uint64_t *val, bool *retu) in vmx_rdmsr() 444 vmx_wrmsr(struct vmx_vcpu *vcpu, u_int num, uint64_t val, bool *retu) in vmx_wrmsr()
|
/freebsd/usr.sbin/bhyve/amd64/ |
H A D | vmexit.c | 60 vm_inject_fault(struct vcpu *vcpu, int vector, int errcode_valid, in vm_inject_fault() 73 vmexit_inout(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_inout() 97 vmexit_rdmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_rdmsr() 130 vmexit_wrmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_wrmsr() 236 vmexit_vmx(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_vmx() 272 vmexit_svm(struct vmctx *ctx __unused, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_svm() 326 vmexit_mtrap(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_mtrap() 343 vmexit_inst_emul(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_inst_emul() 392 vmexit_suspend(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_suspend() 423 vmexit_debug(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_debug() [all …]
|
H A D | task_switch.c | 100 GETREG(struct vcpu *vcpu, int reg) in GETREG() 111 SETREG(struct vcpu *vcpu, int reg, uint64_t val) in SETREG() 151 sel_exception(struct vcpu *vcpu, int vector, uint16_t sel, int ext) in sel_exception() 173 desc_table_limit_check(struct vcpu *vcpu, uint16_t sel) in desc_table_limit_check() 203 desc_table_rw(struct vcpu *vcpu, struct vm_guest_paging *paging, in desc_table_rw() 231 desc_table_read(struct vcpu *vcpu, struct vm_guest_paging *paging, in desc_table_read() 238 desc_table_write(struct vcpu *vcpu, struct vm_guest_paging *paging, in desc_table_write() 252 read_tss_descriptor(struct vcpu *vcpu, struct vm_task_switch *ts, in read_tss_descriptor() 308 validate_seg_desc(struct vcpu *vcpu, struct vm_task_switch *ts, in validate_seg_desc() 434 tss32_save(struct vcpu *vcpu, struct vm_task_switch *task_switch, in tss32_save() [all …]
|
/freebsd/sys/arm64/vmm/io/ |
H A D | vtimer.c | 307 vtimer_remove_irq(struct hypctx *hypctx, struct vcpu *vcpu) in vtimer_remove_irq() 337 vtimer_phys_ctl_read(struct vcpu *vcpu, uint64_t *rval, void *arg) in vtimer_phys_ctl_read() 359 vtimer_phys_ctl_write(struct vcpu *vcpu, uint64_t wval, void *arg) in vtimer_phys_ctl_write() 386 vtimer_phys_cnt_read(struct vcpu *vcpu, uint64_t *rval, void *arg) in vtimer_phys_cnt_read() 398 vtimer_phys_cnt_write(struct vcpu *vcpu, uint64_t wval, void *arg) in vtimer_phys_cnt_write() 404 vtimer_phys_cval_read(struct vcpu *vcpu, uint64_t *rval, void *arg) in vtimer_phys_cval_read() 418 vtimer_phys_cval_write(struct vcpu *vcpu, uint64_t wval, void *arg) in vtimer_phys_cval_write() 437 vtimer_phys_tval_read(struct vcpu *vcpu, uint64_t *rval, void *arg) in vtimer_phys_tval_read() 466 vtimer_phys_tval_write(struct vcpu *vcpu, uint64_t wval, void *arg) in vtimer_phys_tval_write()
|
/freebsd/usr.sbin/bhyve/ |
H A D | mem.c | 145 mem_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg) in mem_read() 156 mem_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size, void *arg) in mem_write() 167 access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) in access_memory() 230 emulate_mem_cb(struct vcpu *vcpu, uint64_t paddr, struct mem_range *mr, in emulate_mem_cb() 241 emulate_mem(struct vcpu *vcpu, uint64_t paddr, struct vie *vie, in emulate_mem() 258 rw_mem_cb(struct vcpu *vcpu, uint64_t paddr, struct mem_range *mr, void *arg) in rw_mem_cb() 268 read_mem(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size) in read_mem() 279 write_mem(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size) in write_mem()
|
H A D | bhyverun.c | 115 struct vcpu *vcpu; member 245 int vcpu, pcpu; in bhyve_pincpu_parse() local 278 parse_cpuset(int vcpu, const char *list, cpuset_t *set) in parse_cpuset() 328 int vcpu; in build_vcpumaps() local 424 fbsdrun_deletecpu(int vcpu) in fbsdrun_deletecpu() 457 vm_loop(struct vmctx *ctx, struct vcpu *vcpu) in vm_loop() 499 num_vcpus_allowed(struct vmctx *ctx, struct vcpu *vcpu) in num_vcpus_allowed()
|
/freebsd/lib/libvmmapi/ |
H A D | vmmapi.c | 213 struct vcpu *vcpu; in vm_vcpu_open() local 222 vm_vcpu_close(struct vcpu *vcpu) in vm_vcpu_close() 228 vcpu_id(struct vcpu *vcpu) in vcpu_id() 653 vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg) in vcpu_ioctl() 665 vm_set_register(struct vcpu *vcpu, int reg, uint64_t val) in vm_set_register() 679 vm_get_register(struct vcpu *vcpu, int reg, uint64_t *ret_val) in vm_get_register() 693 vm_set_register_set(struct vcpu *vcpu, unsigned int count, in vm_set_register_set() 709 vm_get_register_set(struct vcpu *vcpu, unsigned int count, in vm_get_register_set() 725 vm_run(struct vcpu *vcpu, struct vm_run *vmrun) in vm_run() 771 vm_get_capability(struct vcpu *vcpu, enum vm_cap_type cap, int *retval) in vm_get_capability() [all …]
|
H A D | internal.h | 30 struct vcpu { struct 32 int vcpuid; argument 35 int vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg); argument
|
/freebsd/sys/dev/vmm/ |
H A D | vmm_stat.h | 90 vmm_stat_array_incr(struct vcpu *vcpu, struct vmm_stat_type *vst, int statidx, in vmm_stat_array_incr() 104 vmm_stat_array_set(struct vcpu *vcpu, struct vmm_stat_type *vst, int statidx, in vmm_stat_array_set() 118 vmm_stat_incr(struct vcpu *vcpu, struct vmm_stat_type *vst, uint64_t x) in vmm_stat_incr() 127 vmm_stat_set(struct vcpu *vcpu, struct vmm_stat_type *vst, uint64_t val) in vmm_stat_set()
|