Home
last modified time | relevance | path

Searched refs:vcpu (Results 1 – 25 of 79) sorted by relevance

1234

/freebsd-14.2/sys/amd64/vmm/amd/
H A Dsvm.c618 vcpu->vcpu = vcpu1; in svm_vcpu_init()
978 vlapic = vm_lapic(vcpu->vcpu); in svm_update_virqinfo()
1187 vme = vm_exitinfo(vcpu->vcpu); in svm_write_efer()
1207 vm_inject_gp(vcpu->vcpu); in svm_write_efer()
1658 vm_inject_ud(vcpu->vcpu); in svm_vmexit()
1792 vm_nmi_clear(vcpu->vcpu); in svm_inj_interrupts()
1848 vm_extint_clear(vcpu->vcpu); in svm_inj_interrupts()
2118 vlapic = vm_lapic(vcpu->vcpu); in svm_run()
2450 vlapic = vm_lapic(vcpu->vcpu); in svm_setcap()
2534 vlapic = vm_lapic(vcpu->vcpu); in svm_getcap()
[all …]
H A Dsvm_softc.h52 struct vcpu *vcpu; member
78 VCPU_CTR0((vcpu)->sc->vm, (vcpu)->vcpuid, format)
81 VCPU_CTR1((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1)
84 VCPU_CTR2((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2)
87 VCPU_CTR3((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2, p3)
90 VCPU_CTR4((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2, p3, p4)
96 return (vcpu->vmcb); in svm_get_vmcb()
103 return (&vcpu->vmcb->state); in svm_get_vmcb_state()
110 return (&vcpu->vmcb->ctrl); in svm_get_vmcb_ctrl()
117 return (&vcpu->swctx); in svm_get_guest_regctx()
[all …]
H A Dvmcb.c124 vmcb = svm_get_vmcb(vcpu); in vmcb_access()
153 svm_set_dirty(vcpu, 0xffffffff); in vmcb_access()
169 vmcb = svm_get_vmcb(vcpu); in vmcb_read()
248 *retval = vlapic_get_cr8(vm_lapic(vcpu->vcpu)); in vmcb_read()
275 vmcb = svm_get_vmcb(vcpu); in vmcb_write()
286 svm_set_dirty(vcpu, VMCB_CACHE_CR); in vmcb_write()
296 svm_set_dirty(vcpu, VMCB_CACHE_CR); in vmcb_write()
301 svm_set_dirty(vcpu, VMCB_CACHE_CR); in vmcb_write()
306 svm_set_dirty(vcpu, VMCB_CACHE_DR); in vmcb_write()
387 vmcb = svm_get_vmcb(vcpu); in vmcb_setdesc()
[all …]
H A Dsvm_msr.c73 svm_msr_guest_init(struct svm_softc *sc, struct svm_vcpu *vcpu) in svm_msr_guest_init() argument
87 svm_msr_guest_enter(struct svm_vcpu *vcpu) in svm_msr_guest_enter() argument
95 svm_msr_guest_exit(struct svm_vcpu *vcpu) in svm_msr_guest_exit() argument
109 svm_rdmsr(struct svm_vcpu *vcpu, u_int num, uint64_t *result, bool *retu) in svm_rdmsr() argument
124 if (vm_rdmtrr(&vcpu->mtrr, num, result) != 0) { in svm_rdmsr()
125 vm_inject_gp(vcpu->vcpu); in svm_rdmsr()
142 svm_wrmsr(struct svm_vcpu *vcpu, u_int num, uint64_t val, bool *retu) in svm_wrmsr() argument
156 if (vm_wrmtrr(&vcpu->mtrr, num, val) != 0) { in svm_wrmsr()
157 vm_inject_gp(vcpu->vcpu); in svm_wrmsr()
174 svm_set_tsc_offset(vcpu, val - rdtsc()); in svm_wrmsr()
/freebsd-14.2/sys/amd64/vmm/
H A Dvmm.c344 struct vcpu *vcpu; in vcpu_alloc() local
362 vcpu_init(struct vcpu *vcpu) in vcpu_init() argument
364 vcpu->cookie = vmmops_vcpu_init(vcpu->vm->cookie, vcpu, vcpu->vcpuid); in vcpu_init()
533 struct vcpu *vcpu; in vm_alloc_vcpu() local
543 vcpu = vm->vcpu[vcpuid]; in vm_alloc_vcpu()
2889 struct vcpu *vcpu; in vm_snapshot_vcpus() local
2895 vcpu = vm->vcpu[i]; in vm_snapshot_vcpus()
2942 struct vcpu *vcpu; in vm_snapshot_vcpu() local
2949 vcpu = vm->vcpu[i]; in vm_snapshot_vcpu()
3020 struct vcpu *vcpu; in vm_restore_time() local
[all …]
H A Dvmm_lapic.h32 struct vcpu;
36 int lapic_rdmsr(struct vcpu *vcpu, u_int msr, uint64_t *rval, bool *retu);
37 int lapic_wrmsr(struct vcpu *vcpu, u_int msr, uint64_t wval, bool *retu);
39 int lapic_mmio_read(struct vcpu *vcpu, uint64_t gpa,
41 int lapic_mmio_write(struct vcpu *vcpu, uint64_t gpa,
48 int lapic_set_intr(struct vcpu *vcpu, int vector, bool trig);
53 lapic_intr_level(struct vcpu *vcpu, int vector) in lapic_intr_level() argument
56 return (lapic_set_intr(vcpu, vector, LAPIC_TRIG_LEVEL)); in lapic_intr_level()
60 lapic_intr_edge(struct vcpu *vcpu, int vector) in lapic_intr_edge() argument
63 return (lapic_set_intr(vcpu, vector, LAPIC_TRIG_EDGE)); in lapic_intr_edge()
[all …]
H A Dvmm_instruction_emul.c372 vie_update_register(struct vcpu *vcpu, enum vm_reg_name reg, in vie_update_register() argument
508 emulate_mov(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_mov() argument
622 emulate_movx(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_movx() argument
710 get_gla(struct vcpu *vcpu, struct vie *vie __unused, in get_gla() argument
763 emulate_movs(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_movs() argument
945 emulate_stos(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_stos() argument
1007 emulate_and(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_and() argument
1095 emulate_or(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_or() argument
1183 emulate_cmp(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_cmp() argument
1401 emulate_add(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, in emulate_add() argument
[all …]
H A Dvmm_lapic.c51 lapic_set_intr(struct vcpu *vcpu, int vector, bool level) in lapic_set_intr() argument
62 vlapic = vm_lapic(vcpu); in lapic_set_intr()
69 lapic_set_local_intr(struct vm *vm, struct vcpu *vcpu, int vector) in lapic_set_local_intr() argument
75 if (vcpu == NULL) { in lapic_set_local_intr()
85 vlapic = vm_lapic(vcpu); in lapic_set_local_intr()
151 lapic_rdmsr(struct vcpu *vcpu, u_int msr, uint64_t *rval, bool *retu) in lapic_rdmsr() argument
157 vlapic = vm_lapic(vcpu); in lapic_rdmsr()
171 lapic_wrmsr(struct vcpu *vcpu, u_int msr, uint64_t val, bool *retu) in lapic_wrmsr() argument
177 vlapic = vm_lapic(vcpu); in lapic_wrmsr()
190 lapic_mmio_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size, in lapic_mmio_write() argument
[all …]
H A Dvmm_stat.h46 typedef void (*vmm_stat_func_t)(struct vcpu *vcpu,
88 int vmm_stat_copy(struct vcpu *vcpu, int index, int count,
93 vmm_stat_array_incr(struct vcpu *vcpu, struct vmm_stat_type *vst, int statidx, in vmm_stat_array_incr() argument
99 stats = vcpu_stats(vcpu); in vmm_stat_array_incr()
107 vmm_stat_array_set(struct vcpu *vcpu, struct vmm_stat_type *vst, int statidx, in vmm_stat_array_set() argument
113 stats = vcpu_stats(vcpu); in vmm_stat_array_set()
121 vmm_stat_incr(struct vcpu *vcpu, struct vmm_stat_type *vst, uint64_t x) in vmm_stat_incr() argument
125 vmm_stat_array_incr(vcpu, vst, 0, x); in vmm_stat_incr()
130 vmm_stat_set(struct vcpu *vcpu, struct vmm_stat_type *vst, uint64_t val) in vmm_stat_set() argument
134 vmm_stat_array_set(vcpu, vst, 0, val); in vmm_stat_set()
/freebsd-14.2/sys/amd64/include/
H A Dvmm.h278 int vm_run(struct vcpu *vcpu);
280 int vm_inject_nmi(struct vcpu *vcpu);
281 int vm_nmi_pending(struct vcpu *vcpu);
282 void vm_nmi_clear(struct vcpu *vcpu);
286 int vcpu_vcpuid(struct vcpu *vcpu);
287 struct vm *vcpu_vm(struct vcpu *vcpu);
361 int vcpu_debugged(struct vcpu *vcpu);
391 vcpu_should_yield(struct vcpu *vcpu) in vcpu_should_yield() argument
400 void *vcpu_stats(struct vcpu *vcpu);
785 vm_inject_ud(struct vcpu *vcpu) in vm_inject_ud() argument
[all …]
H A Dvmm_instruction_emul.h37 typedef int (*mem_region_read_t)(struct vcpu *vcpu, uint64_t gpa,
40 typedef int (*mem_region_write_t)(struct vcpu *vcpu, uint64_t gpa,
54 int vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
58 int vie_update_register(struct vcpu *vcpu, enum vm_reg_name reg,
82 int vmm_fetch_instruction(struct vcpu *vcpu,
95 int vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging,
102 int vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging,
122 int vmm_decode_instruction(struct vcpu *vcpu, uint64_t gla,
/freebsd-14.2/lib/libvmmapi/
H A Dvmmapi.h125 void vm_vcpu_close(struct vcpu *vcpu);
126 int vcpu_id(struct vcpu *vcpu);
135 int vm_gla2gpa_nofault(struct vcpu *vcpu,
145 int vm_set_desc(struct vcpu *vcpu, int reg,
147 int vm_get_desc(struct vcpu *vcpu, int reg,
176 int vm_inject_nmi(struct vcpu *vcpu);
234 int vcpu_reset(struct vcpu *vcpu);
239 int vm_activate_cpu(struct vcpu *vcpu);
241 int vm_suspend_cpu(struct vcpu *vcpu);
243 int vm_resume_cpu(struct vcpu *vcpu);
[all …]
H A Dvmmapi_freebsd.c71 vm_setup_freebsd_registers_i386(struct vcpu *vcpu, uint32_t eip, in vm_setup_freebsd_registers_i386() argument
125 error = vm_set_desc(vcpu, VM_REG_GUEST_CS, in vm_setup_freebsd_registers_i386()
129 error = vm_set_desc(vcpu, VM_REG_GUEST_DS, in vm_setup_freebsd_registers_i386()
134 error = vm_set_desc(vcpu, VM_REG_GUEST_ES, in vm_setup_freebsd_registers_i386()
139 error = vm_set_desc(vcpu, VM_REG_GUEST_FS, in vm_setup_freebsd_registers_i386()
144 error = vm_set_desc(vcpu, VM_REG_GUEST_GS, in vm_setup_freebsd_registers_i386()
149 error = vm_set_desc(vcpu, VM_REG_GUEST_SS, in vm_setup_freebsd_registers_i386()
157 error = vm_set_desc(vcpu, VM_REG_GUEST_TR, in vm_setup_freebsd_registers_i386()
221 vm_setup_freebsd_registers(struct vcpu *vcpu, in vm_setup_freebsd_registers() argument
250 error = vm_set_desc(vcpu, VM_REG_GUEST_CS, in vm_setup_freebsd_registers()
[all …]
H A Dvmmapi.c163 struct vcpu *vcpu; in vm_vcpu_open() local
165 vcpu = malloc(sizeof(*vcpu)); in vm_vcpu_open()
172 vm_vcpu_close(struct vcpu *vcpu) in vm_vcpu_close() argument
178 vcpu_id(struct vcpu *vcpu) in vcpu_id() argument
611 vm_set_desc(struct vcpu *vcpu, int reg, in vm_set_desc() argument
905 vm_inject_nmi(struct vcpu *vcpu) in vm_inject_nmi() argument
1172 vcpu_reset(struct vcpu *vcpu) in vcpu_reset() argument
1562 vm_activate_cpu(struct vcpu *vcpu) in vm_activate_cpu() argument
1585 vm_suspend_cpu(struct vcpu *vcpu) in vm_suspend_cpu() argument
1596 vm_resume_cpu(struct vcpu *vcpu) in vm_resume_cpu() argument
[all …]
/freebsd-14.2/usr.sbin/bhyve/amd64/
H A Dtask_switch.c101 GETREG(struct vcpu *vcpu, int reg) in GETREG() argument
112 SETREG(struct vcpu *vcpu, int reg, uint64_t val) in SETREG() argument
152 sel_exception(struct vcpu *vcpu, int vector, uint16_t sel, int ext) in sel_exception() argument
174 desc_table_limit_check(struct vcpu *vcpu, uint16_t sel) in desc_table_limit_check() argument
204 desc_table_rw(struct vcpu *vcpu, struct vm_guest_paging *paging, in desc_table_rw() argument
232 desc_table_read(struct vcpu *vcpu, struct vm_guest_paging *paging, in desc_table_read() argument
253 read_tss_descriptor(struct vcpu *vcpu, struct vm_task_switch *ts, in read_tss_descriptor() argument
309 validate_seg_desc(struct vcpu *vcpu, struct vm_task_switch *ts, in validate_seg_desc() argument
435 tss32_save(struct vcpu *vcpu, struct vm_task_switch *task_switch, in tss32_save() argument
468 update_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *sd) in update_seg_desc() argument
[all …]
H A Dvmexit.c60 vm_inject_fault(struct vcpu *vcpu, int vector, int errcode_valid, in vm_inject_fault() argument
73 vmexit_inout(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_inout() argument
97 vmexit_rdmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_rdmsr() argument
130 vmexit_wrmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_wrmsr() argument
289 vmexit_bogus(struct vmctx *ctx __unused, struct vcpu *vcpu __unused, in vmexit_bogus()
307 vmexit_hlt(struct vmctx *ctx __unused, struct vcpu *vcpu __unused, in vmexit_hlt()
326 vmexit_mtrap(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_mtrap() argument
343 vmexit_inst_emul(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_inst_emul() argument
423 vmexit_debug(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_debug() argument
457 vmexit_breakpoint(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_breakpoint() argument
[all …]
H A Dbhyverun_machdep.c67 bhyve_init_vcpu(struct vcpu *vcpu) in bhyve_init_vcpu() argument
77 vm_set_capability(vcpu, VM_CAP_HALT_EXIT, 1); in bhyve_init_vcpu()
89 vm_set_capability(vcpu, VM_CAP_PAUSE_EXIT, 1); in bhyve_init_vcpu()
93 err = vm_set_x2apic_state(vcpu, X2APIC_ENABLED); in bhyve_init_vcpu()
95 err = vm_set_x2apic_state(vcpu, X2APIC_DISABLED); in bhyve_init_vcpu()
102 vm_set_capability(vcpu, VM_CAP_ENABLE_INVPCID, 1); in bhyve_init_vcpu()
109 bhyve_start_vcpu(struct vcpu *vcpu, bool bsp) in bhyve_start_vcpu() argument
115 error = vm_set_capability(vcpu, in bhyve_start_vcpu()
121 error = vcpu_reset(vcpu); in bhyve_start_vcpu()
125 bhyve_init_vcpu(vcpu); in bhyve_start_vcpu()
[all …]
/freebsd-14.2/sys/amd64/vmm/intel/
H A Dvmx.c1134 vcpu->vcpu = vcpu1; in vmx_vcpu_init()
1449 vm_nmi_clear(vcpu->vcpu); in vmx_inject_nmi()
1704 vm_inject_gp(vcpu->vcpu); in vmx_emulate_xsetbv()
1710 vm_inject_ud(vcpu->vcpu); in vmx_emulate_xsetbv()
1716 vm_inject_gp(vcpu->vcpu); in vmx_emulate_xsetbv()
1721 vm_inject_gp(vcpu->vcpu); in vmx_emulate_xsetbv()
1728 vm_inject_gp(vcpu->vcpu); in vmx_emulate_xsetbv()
3918 vcpu = vlapic_vtx->vcpu; in vmx_enable_x2apic_mode_ts()
3943 vcpu = vlapic_vtx->vcpu; in vmx_enable_x2apic_mode_vid()
4092 vlapic->vcpu = vcpu->vcpu; in vmx_vlapic_init()
[all …]
H A Dvmx_msr.c319 if (vcpu->vcpuid == 0) { in vmx_msr_guest_init()
343 vmx_msr_guest_enter(struct vmx_vcpu *vcpu) in vmx_msr_guest_enter() argument
366 vmx_msr_guest_exit(struct vmx_vcpu *vcpu) in vmx_msr_guest_exit() argument
420 if (vm_rdmtrr(&vcpu->mtrr, num, val) != 0) { in vmx_rdmsr()
421 vm_inject_gp(vcpu->vcpu); in vmx_rdmsr()
435 *val = vcpu->guest_msrs[IDX_MSR_PAT]; in vmx_rdmsr()
463 vm_inject_gp(vcpu->vcpu); in vmx_wrmsr()
488 vcpu->guest_msrs[IDX_MSR_PAT] = val; in vmx_wrmsr()
490 vm_inject_gp(vcpu->vcpu); in vmx_wrmsr()
502 vcpu->guest_msrs[IDX_MSR_TSC_AUX] = val; in vmx_wrmsr()
[all …]
H A Dvmx.h129 struct vcpu *vcpu; member
152 #define VMX_CTR0(vcpu, format) \ argument
153 VCPU_CTR0((vcpu)->vmx->vm, (vcpu)->vcpuid, format)
155 #define VMX_CTR1(vcpu, format, p1) \ argument
156 VCPU_CTR1((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1)
158 #define VMX_CTR2(vcpu, format, p1, p2) \ argument
159 VCPU_CTR2((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1, p2)
161 #define VMX_CTR3(vcpu, format, p1, p2, p3) \ argument
162 VCPU_CTR3((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1, p2, p3)
164 #define VMX_CTR4(vcpu, format, p1, p2, p3, p4) \ argument
[all …]
/freebsd-14.2/usr.sbin/bhyvectl/
H A Dbhyvectl.c161 printf("vm exit[%d]\n", vcpu); in dump_vm_run_exitcode()
342 dump_amd_msr_pm(bitmap, vcpu); in dump_msr_bitmap()
355 vm_get_vmcs_field(struct vcpu *vcpu, int field, uint64_t *ret_val) in vm_get_vmcs_field() argument
362 vm_get_vmcb_field(struct vcpu *vcpu, int off, int bytes, in vm_get_vmcb_field() argument
484 get_all_registers(struct vcpu *vcpu, int vcpuid) in get_all_registers() argument
671 get_all_segments(struct vcpu *vcpu, int vcpuid) in get_all_segments() argument
818 get_misc_vmcs(struct vcpu *vcpu, int vcpuid) in get_misc_vmcs() argument
1052 get_misc_vmcb(struct vcpu *vcpu, int vcpuid) in get_misc_vmcb() argument
1638 struct vcpu *vcpu; in main() local
1972 error = vm_inject_nmi(vcpu); in main()
[all …]
/freebsd-14.2/usr.sbin/bhyve/
H A Dgdb.h31 void gdb_cpu_add(struct vcpu *vcpu);
32 void gdb_cpu_breakpoint(struct vcpu *vcpu, struct vm_exit *vmexit);
33 void gdb_cpu_mtrap(struct vcpu *vcpu);
34 void gdb_cpu_suspend(struct vcpu *vcpu);
35 void gdb_cpu_debug(struct vcpu *vcpu, struct vm_exit *vmexit);
H A Dbhyverun.c109 static void vm_loop(struct vmctx *ctx, struct vcpu *vcpu);
113 struct vcpu *vcpu; member
285 int vcpu, pcpu; in pincpu_parse() local
292 if (vcpu < 0) { in pincpu_parse()
368 int vcpu; in build_vcpumaps() local
371 for (vcpu = 0; vcpu < guest_ncpus; vcpu++) { in build_vcpumaps()
379 parse_cpuset(vcpu, value, vcpumap[vcpu]); in build_vcpumaps()
405 struct vcpu *
496 vm_loop(struct vmctx *ctx, struct vcpu *vcpu) in vm_loop() argument
538 num_vcpus_allowed(struct vmctx *ctx, struct vcpu *vcpu) in num_vcpus_allowed() argument
[all …]
H A Dmem.c142 typedef int (mem_cb_t)(struct vcpu *vcpu, uint64_t gpa, struct mem_range *mr,
146 mem_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg) in mem_read() argument
157 mem_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size, void *arg) in mem_write() argument
168 access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) in access_memory() argument
173 vcpuid = vcpu_id(vcpu); in access_memory()
215 err = cb(vcpu, paddr, &entry->mr_param, arg); in access_memory()
231 emulate_mem_cb(struct vcpu *vcpu, uint64_t paddr, struct mem_range *mr, in emulate_mem_cb() argument
242 emulate_mem(struct vcpu *vcpu, uint64_t paddr, struct vie *vie, in emulate_mem() argument
259 rw_mem_cb(struct vcpu *vcpu, uint64_t paddr, struct mem_range *mr, void *arg) in rw_mem_cb() argument
269 read_mem(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size) in read_mem() argument
[all …]
H A Dbhyverun.h40 struct vcpu;
49 struct vcpu;
50 struct vcpu *fbsdrun_vcpu(int vcpuid);
57 typedef int (*vmexit_handler_t)(struct vmctx *, struct vcpu *, struct vm_run *);
61 void bhyve_init_vcpu(struct vcpu *vcpu);
62 void bhyve_start_vcpu(struct vcpu *vcpu, bool bsp);
63 int bhyve_init_platform(struct vmctx *ctx, struct vcpu *bsp);
64 int bhyve_init_platform_late(struct vmctx *ctx, struct vcpu *bsp);

1234