Home
last modified time | relevance | path

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

12345

/src/sys/riscv/vmm/
H A Dvmm.c91 vcpu_cleanup(struct vcpu *vcpu, bool destroy) in vcpu_cleanup() argument
93 vmmops_vcpu_cleanup(vcpu->cookie); in vcpu_cleanup()
94 vcpu->cookie = NULL; in vcpu_cleanup()
96 vmm_stat_free(vcpu->stats); in vcpu_cleanup()
97 fpu_save_area_free(vcpu->guestfpu); in vcpu_cleanup()
98 vcpu_lock_destroy(vcpu); in vcpu_cleanup()
99 free(vcpu, M_VMM); in vcpu_cleanup()
103 static struct vcpu *
106 struct vcpu *vcpu; in vcpu_alloc() local
111 vcpu = malloc(sizeof(*vcpu), M_VMM, M_WAITOK | M_ZERO); in vcpu_alloc()
[all …]
/src/sys/amd64/vmm/
H A Dvmm.c95 #define VMM_CTR0(vcpu, format) \ argument
96 VCPU_CTR0((vcpu)->vm, (vcpu)->vcpuid, format)
98 #define VMM_CTR1(vcpu, format, p1) \ argument
99 VCPU_CTR1((vcpu)->vm, (vcpu)->vcpuid, format, p1)
101 #define VMM_CTR2(vcpu, format, p1, p2) \ argument
102 VCPU_CTR2((vcpu)->vm, (vcpu)->vcpuid, format, p1, p2)
104 #define VMM_CTR3(vcpu, format, p1, p2, p3) \ argument
105 VCPU_CTR3((vcpu)->vm, (vcpu)->vcpuid, format, p1, p2, p3)
107 #define VMM_CTR4(vcpu, format, p1, p2, p3, p4) \ argument
108 VCPU_CTR4((vcpu)->vm, (vcpu)->vcpuid, format, p1, p2, p3, p4)
[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.c283 vie_read_register(struct vcpu *vcpu, enum vm_reg_name reg, uint64_t *rval) in vie_read_register() argument
287 error = vm_get_register(vcpu, reg, rval); in vie_read_register()
319 vie_read_bytereg(struct vcpu *vcpu, struct vie *vie, uint8_t *rval) in vie_read_bytereg() argument
326 error = vm_get_register(vcpu, reg, &val); in vie_read_bytereg()
340 vie_write_bytereg(struct vcpu *vcpu, struct vie *vie, uint8_t byte) in vie_write_bytereg() argument
347 error = vm_get_register(vcpu, reg, &origval); in vie_write_bytereg()
360 error = vm_set_register(vcpu, reg, val); in vie_write_bytereg()
366 vie_update_register(struct vcpu *vcpu, enum vm_reg_name reg, in vie_update_register() argument
375 error = vie_read_register(vcpu, reg, &origval); in vie_update_register()
390 error = vm_set_register(vcpu, reg, val); in vie_update_register()
[all …]
H A Dvmm_lapic.c52 lapic_set_intr(struct vcpu *vcpu, int vector, bool level) in lapic_set_intr() argument
63 vlapic = vm_lapic(vcpu); in lapic_set_intr()
65 vcpu_notify_lapic(vcpu); in lapic_set_intr()
70 lapic_set_local_intr(struct vm *vm, struct vcpu *vcpu, int vector) in lapic_set_local_intr() argument
76 if (vcpu == NULL) { in lapic_set_local_intr()
86 vlapic = vm_lapic(vcpu); in lapic_set_local_intr()
157 lapic_rdmsr(struct vcpu *vcpu, u_int msr, uint64_t *rval, bool *retu) in lapic_rdmsr() argument
163 vlapic = vm_lapic(vcpu); in lapic_rdmsr()
177 lapic_wrmsr(struct vcpu *vcpu, u_int msr, uint64_t val, bool *retu) in lapic_wrmsr() argument
183 vlapic = vm_lapic(vcpu); in lapic_wrmsr()
[all …]
/src/sys/dev/vmm/
H A Dvmm_vm.c31 vm_rendezvous(struct vcpu *vcpu) in vm_rendezvous() argument
33 struct vm *vm = vcpu->vm; in vm_rendezvous()
36 mtx_assert(&vcpu->vm->rendezvous_mtx, MA_OWNED); in vm_rendezvous()
37 KASSERT(vcpu->vm->rendezvous_func != NULL, in vm_rendezvous()
44 vcpuid = vcpu->vcpuid; in vm_rendezvous()
47 (*vm->rendezvous_func)(vcpu, vm->rendezvous_arg); in vm_rendezvous()
60 vm_handle_rendezvous(struct vcpu *vcpu) in vm_handle_rendezvous() argument
66 vm = vcpu->vm; in vm_handle_rendezvous()
70 if (vm_rendezvous(vcpu)) in vm_handle_rendezvous()
90 vcpu_wait_idle(struct vcpu *vcpu) in vcpu_wait_idle() argument
[all …]
H A Dvmm_vm.h19 struct vcpu;
35 struct vcpu { struct
56 int vcpu_set_state(struct vcpu *vcpu, enum vcpu_state state, bool from_idle);
57 int vcpu_set_state_locked(struct vcpu *vcpu, enum vcpu_state newstate,
60 enum vcpu_state vcpu_get_state(struct vcpu *vcpu, int *hostcpu);
61 void vcpu_notify_event(struct vcpu *vcpu);
62 void vcpu_notify_event_locked(struct vcpu *vcpu);
63 int vcpu_debugged(struct vcpu *vcpu);
66 vcpu_stats(struct vcpu *vcpu) in vcpu_stats() argument
68 return (vcpu->stats); in vcpu_stats()
[all …]
/src/sys/amd64/vmm/amd/
H A Dsvm.c296 svm_set_tsc_offset(struct svm_vcpu *vcpu, uint64_t offset) in svm_set_tsc_offset() argument
300 ctrl = svm_get_vmcb_ctrl(vcpu); in svm_set_tsc_offset()
303 svm_set_dirty(vcpu, VMCB_CACHE_I); in svm_set_tsc_offset()
304 SVM_CTR1(vcpu, "tsc offset changed to %#lx", offset); in svm_set_tsc_offset()
306 vm_set_tsc_offset(vcpu->vcpu, offset); in svm_set_tsc_offset()
419 svm_get_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask) in svm_get_intercept() argument
425 ctrl = svm_get_vmcb_ctrl(vcpu); in svm_get_intercept()
430 svm_set_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask, int enabled) in svm_set_intercept() argument
437 ctrl = svm_get_vmcb_ctrl(vcpu); in svm_set_intercept()
446 svm_set_dirty(vcpu, VMCB_CACHE_I); in svm_set_intercept()
[all …]
H A Dsvm_softc.h52 struct vcpu *vcpu; member
77 #define SVM_CTR0(vcpu, format) \ argument
78 VCPU_CTR0((vcpu)->sc->vm, (vcpu)->vcpuid, format)
80 #define SVM_CTR1(vcpu, format, p1) \ argument
81 VCPU_CTR1((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1)
83 #define SVM_CTR2(vcpu, format, p1, p2) \ argument
84 VCPU_CTR2((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2)
86 #define SVM_CTR3(vcpu, format, p1, p2, p3) \ argument
87 VCPU_CTR3((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2, p3)
89 #define SVM_CTR4(vcpu, format, p1, p2, p3, p4) \ argument
[all …]
H A Dvmcb.c118 vmcb_access(struct svm_vcpu *vcpu, int write, int ident, uint64_t *val) in vmcb_access() argument
124 vmcb = svm_get_vmcb(vcpu); in vmcb_access()
147 SVM_CTR1(vcpu, "Invalid size %d for VMCB access: %d", bytes); in vmcb_access()
153 svm_set_dirty(vcpu, 0xffffffff); in vmcb_access()
162 vmcb_read(struct svm_vcpu *vcpu, int ident, uint64_t *retval) in vmcb_read() argument
169 vmcb = svm_get_vmcb(vcpu); in vmcb_read()
174 return (vmcb_access(vcpu, 0, ident, retval)); in vmcb_read()
248 *retval = vlapic_get_cr8(vm_lapic(vcpu->vcpu)); in vmcb_read()
268 vmcb_write(struct svm_vcpu *vcpu, int ident, uint64_t val) in vmcb_write() argument
275 vmcb = svm_get_vmcb(vcpu); in vmcb_write()
[all …]
/src/sys/arm64/vmm/
H A Dvmm.c177 vcpu_cleanup(struct vcpu *vcpu, bool destroy) in vcpu_cleanup() argument
179 vmmops_vcpu_cleanup(vcpu->cookie); in vcpu_cleanup()
180 vcpu->cookie = NULL; in vcpu_cleanup()
182 vmm_stat_free(vcpu->stats); in vcpu_cleanup()
183 fpu_save_area_free(vcpu->guestfpu); in vcpu_cleanup()
184 vcpu_lock_destroy(vcpu); in vcpu_cleanup()
185 free(vcpu, M_VMM); in vcpu_cleanup()
189 static struct vcpu *
192 struct vcpu *vcpu; in vcpu_alloc() local
197 vcpu = malloc(sizeof(*vcpu), M_VMM, M_WAITOK | M_ZERO); in vcpu_alloc()
[all …]
/src/lib/libvmmapi/
H A Dvmmapi.h46 struct vcpu;
123 struct vcpu *vm_vcpu_open(struct vmctx *ctx, int vcpuid);
124 void vm_vcpu_close(struct vcpu *vcpu);
125 int vcpu_id(struct vcpu *vcpu);
135 int vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging,
138 int vm_gla2gpa_nofault(struct vcpu *vcpu,
149 int vm_set_desc(struct vcpu *vcpu, int reg,
151 int vm_get_desc(struct vcpu *vcpu, int reg,
153 int vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *seg_desc);
155 int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val);
[all …]
/src/usr.sbin/bhyve/amd64/
H A Dtask_switch.c100 GETREG(struct vcpu *vcpu, int reg) in GETREG() argument
105 error = vm_get_register(vcpu, reg, &val); in GETREG()
111 SETREG(struct vcpu *vcpu, int reg, uint64_t val) in SETREG() argument
115 error = vm_set_register(vcpu, reg, val); in SETREG()
151 sel_exception(struct vcpu *vcpu, int vector, uint16_t sel, int ext) in sel_exception() argument
165 vm_inject_fault(vcpu, vector, 1, sel); in sel_exception()
173 desc_table_limit_check(struct vcpu *vcpu, uint16_t sel) in desc_table_limit_check() argument
180 error = vm_get_desc(vcpu, reg, &base, &limit, &access); in desc_table_limit_check()
203 desc_table_rw(struct vcpu *vcpu, struct vm_guest_paging *paging, in desc_table_rw() argument
213 error = vm_get_desc(vcpu, reg, &base, &limit, &access); in desc_table_rw()
[all …]
H A Dvmexit.c60 vm_inject_fault(struct vcpu *vcpu, int vector, int errcode_valid, in vm_inject_fault() argument
67 error = vm_inject_exception(vcpu, vector, errcode_valid, errcode, in vm_inject_fault()
73 vmexit_inout(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_inout() argument
84 error = emulate_inout(ctx, vcpu, vme); in vmexit_inout()
97 vmexit_rdmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_rdmsr() argument
108 error = emulate_rdmsr(vcpu, vme->u.msr.code, &val); in vmexit_rdmsr()
113 vme->u.msr.code, vcpu_id(vcpu)); in vmexit_rdmsr()
116 vm_inject_gp(vcpu); in vmexit_rdmsr()
122 error = vm_set_register(vcpu, VM_REG_GUEST_RAX, eax); in vmexit_rdmsr()
126 error = vm_set_register(vcpu, VM_REG_GUEST_RDX, edx); in vmexit_rdmsr()
[all …]
/src/sys/amd64/include/
H A Dvmm.h36 struct vcpu;
181 DECLARE_VMMOPS_FUNC(void *, vcpu_init, (void *vmi, struct vcpu *vcpu,
236 int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval);
237 int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val);
238 int vm_get_seg_desc(struct vcpu *vcpu, int reg,
240 int vm_set_seg_desc(struct vcpu *vcpu, int reg,
242 int vm_run(struct vcpu *vcpu);
243 int vm_inject_nmi(struct vcpu *vcpu);
244 int vm_nmi_pending(struct vcpu *vcpu);
245 void vm_nmi_clear(struct vcpu *vcpu);
[all …]
H A Dvmm_instruction_emul.h62 typedef int (*mem_region_read_t)(struct vcpu *vcpu, uint64_t gpa,
65 typedef int (*mem_region_write_t)(struct vcpu *vcpu, uint64_t gpa,
79 int vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
83 int vie_update_register(struct vcpu *vcpu, enum vm_reg_name reg,
107 int vmm_fetch_instruction(struct vcpu *vcpu,
120 int vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging,
127 int vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging,
147 int vmm_decode_instruction(struct vcpu *vcpu, uint64_t gla,
/src/lib/libvmmapi/amd64/
H A Dvmmapi_freebsd_machdep.c70 vm_setup_freebsd_registers_i386(struct vcpu *vcpu, uint32_t eip, in vm_setup_freebsd_registers_i386() argument
80 error = vm_get_capability(vcpu, VM_CAP_UNRESTRICTED_GUEST, &tmp); in vm_setup_freebsd_registers_i386()
83 error = vm_set_capability(vcpu, VM_CAP_UNRESTRICTED_GUEST, 1); in vm_setup_freebsd_registers_i386()
88 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR0, cr0)) != 0) in vm_setup_freebsd_registers_i386()
91 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR4, 0)) != 0) in vm_setup_freebsd_registers_i386()
98 if ((error = vm_set_register(vcpu, VM_REG_GUEST_EFER, 0))) in vm_setup_freebsd_registers_i386()
101 gdt = vm_map_gpa(vcpu->ctx, gdtbase, 0x1000); in vm_setup_freebsd_registers_i386()
107 error = vm_set_desc(vcpu, VM_REG_GUEST_GDTR, in vm_setup_freebsd_registers_i386()
117 error = vm_set_register(vcpu, VM_REG_GUEST_RFLAGS, rflags); in vm_setup_freebsd_registers_i386()
124 error = vm_set_desc(vcpu, VM_REG_GUEST_CS, in vm_setup_freebsd_registers_i386()
[all …]
H A Dvmmapi_machdep.c97 vm_set_desc(struct vcpu *vcpu, int reg, in vm_set_desc() argument
109 error = vcpu_ioctl(vcpu, VM_SET_SEGMENT_DESCRIPTOR, &vmsegdesc); in vm_set_desc()
114 vm_get_desc(struct vcpu *vcpu, int reg, uint64_t *base, uint32_t *limit, in vm_get_desc() argument
123 error = vcpu_ioctl(vcpu, VM_GET_SEGMENT_DESCRIPTOR, &vmsegdesc); in vm_get_desc()
133 vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *seg_desc) in vm_get_seg_desc() argument
137 error = vm_get_desc(vcpu, reg, &seg_desc->base, &seg_desc->limit, in vm_get_seg_desc()
143 vm_lapic_irq(struct vcpu *vcpu, int vector) in vm_lapic_irq() argument
150 return (vcpu_ioctl(vcpu, VM_LAPIC_IRQ, &vmirq)); in vm_lapic_irq()
154 vm_lapic_local_irq(struct vcpu *vcpu, int vector) in vm_lapic_local_irq() argument
161 return (vcpu_ioctl(vcpu, VM_LAPIC_LOCAL_IRQ, &vmirq)); in vm_lapic_local_irq()
[all …]
/src/sys/amd64/vmm/intel/
H A Dvmx.c1132 vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) in vmx_vcpu_init()
1136 struct vmx_vcpu *vcpu; in vmx_vcpu_init() local
1143 vcpu = malloc(sizeof(*vcpu), M_VMX, M_WAITOK | M_ZERO); in vmx_vcpu_init()
1144 vcpu->vmx = vmx; in vmx_vcpu_init()
1145 vcpu->vcpu = vcpu1; in vmx_vcpu_init()
1146 vcpu->vcpuid = vcpuid; in vmx_vcpu_init()
1147 vcpu->vmcs = malloc_aligned(sizeof(*vmcs), PAGE_SIZE, M_VMX, in vmx_vcpu_init()
1149 vcpu->apic_page = malloc_aligned(PAGE_SIZE, PAGE_SIZE, M_VMX, in vmx_vcpu_init()
1151 vcpu->pir_desc = malloc_aligned(sizeof(*vcpu->pir_desc), 64, M_VMX, in vmx_vcpu_init()
1154 vmcs = vcpu->vmcs; in vmx_vcpu_init()
[all …]
H A Dvmx_msr.c312 vmx_msr_guest_init(struct vmx *vmx, struct vmx_vcpu *vcpu) in vmx_msr_guest_init() argument
318 if (vcpu->vcpuid == 0) { in vmx_msr_guest_init()
329 vcpu->guest_msrs[IDX_MSR_PAT] = PAT_VALUE(0, PAT_WRITE_BACK) | in vmx_msr_guest_init()
342 vmx_msr_guest_enter(struct vmx_vcpu *vcpu) in vmx_msr_guest_enter() argument
347 wrmsr(MSR_LSTAR, vcpu->guest_msrs[IDX_MSR_LSTAR]); in vmx_msr_guest_enter()
348 wrmsr(MSR_CSTAR, vcpu->guest_msrs[IDX_MSR_CSTAR]); in vmx_msr_guest_enter()
349 wrmsr(MSR_STAR, vcpu->guest_msrs[IDX_MSR_STAR]); in vmx_msr_guest_enter()
350 wrmsr(MSR_SF_MASK, vcpu->guest_msrs[IDX_MSR_SF_MASK]); in vmx_msr_guest_enter()
351 wrmsr(MSR_KGSBASE, vcpu->guest_msrs[IDX_MSR_KGSBASE]); 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() argument
[all …]
/src/usr.sbin/bhyvectl/amd64/
H A Dbhyvectl_machdep.c185 bhyvectl_dump_vm_run_exitcode(struct vm_exit *vmexit, int vcpu) in bhyvectl_dump_vm_run_exitcode() argument
187 printf("vm exit[%d]\n", vcpu); in bhyvectl_dump_vm_run_exitcode()
327 print_msr_pm(uint64_t msr, int vcpu, int readable, int writeable) in print_msr_pm() argument
331 printf("%-20s[%d]\t\t%c%c\n", msr_name(msr), vcpu, in print_msr_pm()
340 dump_amd_msr_pm(const char *bitmap, int vcpu) in dump_amd_msr_pm() argument
352 print_msr_pm(msr, vcpu, readable, writeable); in dump_amd_msr_pm()
358 print_msr_pm(msr + MSR_AMD6TH_START, vcpu, readable, in dump_amd_msr_pm()
365 print_msr_pm(msr + MSR_AMD7TH_START, vcpu, readable, in dump_amd_msr_pm()
374 dump_intel_msr_pm(const char *bitmap, int vcpu) in dump_intel_msr_pm() argument
386 print_msr_pm(msr, vcpu, readable, writeable); in dump_intel_msr_pm()
[all …]
/src/usr.sbin/bhyve/aarch64/
H A Dvmexit.c61 vmexit_inst_emul(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_inst_emul() argument
71 err = emulate_mem(vcpu, vme->u.inst_emul.gpa, vie, in vmexit_inst_emul()
90 vmexit_reg_emul(struct vmctx *ctx __unused, struct vcpu *vcpu __unused, in vmexit_reg_emul()
105 vmexit_suspend(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_suspend() argument
109 int vcpuid = vcpu_id(vcpu); in vmexit_suspend()
135 vmexit_debug(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_debug() argument
138 gdb_cpu_suspend(vcpu); in vmexit_debug()
148 vmexit_bogus(struct vmctx *ctx __unused, struct vcpu *vcpu __unused, in vmexit_bogus()
176 for (int vcpu = 0; vcpu < guest_ncpus; vcpu++) { in smccc_affinity_info() local
177 if ((cpu_to_mpidr[vcpu] & mask) == (target_affinity & mask) && in smccc_affinity_info()
[all …]
/src/sys/arm64/vmm/io/
H A Dvtimer.h77 int vtimer_phys_ctl_read(struct vcpu *vcpu, uint64_t *rval, void *arg);
78 int vtimer_phys_ctl_write(struct vcpu *vcpu, uint64_t wval, void *arg);
79 int vtimer_phys_cnt_read(struct vcpu *vcpu, uint64_t *rval, void *arg);
80 int vtimer_phys_cnt_write(struct vcpu *vcpu, uint64_t wval, void *arg);
81 int vtimer_phys_cval_read(struct vcpu *vcpu, uint64_t *rval, void *arg);
82 int vtimer_phys_cval_write(struct vcpu *vcpu, uint64_t wval, void *arg);
83 int vtimer_phys_tval_read(struct vcpu *vcpu, uint64_t *rval, void *arg);
84 int vtimer_phys_tval_write(struct vcpu *vcpu, uint64_t wval, void *arg);
/src/sys/riscv/include/
H A Dvmm.h45 struct vcpu;
146 DECLARE_VMMOPS_FUNC(void *, vcpu_init, (void *vmi, struct vcpu *vcpu,
158 int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval);
159 int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val);
160 int vm_run(struct vcpu *vcpu);
162 void *vcpu_get_cookie(struct vcpu *vcpu);
163 int vm_get_capability(struct vcpu *vcpu, int type, int *val);
164 int vm_set_capability(struct vcpu *vcpu, int type, int val);
165 int vm_inject_exception(struct vcpu *vcpu, uint64_t scause);
171 struct vm_exit *vm_exitinfo(struct vcpu *vcpu);
[all …]
/src/sys/arm64/include/
H A Dvmm.h38 struct vcpu;
159 DECLARE_VMMOPS_FUNC(void *, vcpu_init, (void *vmi, struct vcpu *vcpu,
179 int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval);
180 int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val);
181 int vm_run(struct vcpu *vcpu);
183 void *vcpu_get_cookie(struct vcpu *vcpu);
184 int vm_get_capability(struct vcpu *vcpu, int type, int *val);
185 int vm_set_capability(struct vcpu *vcpu, int type, int val);
186 int vm_inject_exception(struct vcpu *vcpu, uint64_t esr, uint64_t far);
192 struct vm_exit *vm_exitinfo(struct vcpu *vcpu);
[all …]

12345