/freebsd-10.0-release/usr.sbin/bhyve/ |
H A D | spinup_ap.h | 32 int spinup_ap(struct vmctx *ctx, int vcpu, int newcpu, uint64_t rip);
|
H A D | xmsr.h | 32 int emulate_wrmsr(struct vmctx *ctx, int vcpu, uint32_t code, uint64_t val);
|
H A D | xmsr.c | 43 emulate_wrmsr(struct vmctx *ctx, int vcpu, uint32_t code, uint64_t val) argument 46 printf("Unknown WRMSR code %x, val %lx, cpu %d\n", code, val, vcpu);
|
H A D | bhyverun.c | 70 #define VMEXIT_SWITCH 0 /* force vcpu switch in mux mode */ 79 typedef int (*vmexit_handler_t)(struct vmctx *, struct vm_exit *, int *vcpu); 100 static void vm_loop(struct vmctx *ctx, int vcpu, uint64_t rip); 133 " -p: pin vcpu 'n' to host cpu 'pincpu + n'\n" 188 int vcpu; local 191 vcpu = mtp->mt_vcpu; 193 snprintf(tname, sizeof(tname), "vcpu %d", vcpu); 196 vm_loop(mtp->mt_ctx, vcpu, vmexit[vcpu] 204 fbsdrun_addcpu(struct vmctx *ctx, int vcpu, uint64_t rip) argument 263 int vcpu; local 424 vm_loop(struct vmctx *ctx, int vcpu, uint64_t rip) argument [all...] |
H A D | mem.h | 36 typedef int (*mem_func_t)(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, 53 int emulate_mem(struct vmctx *, int vcpu, uint64_t paddr, struct vie *vie);
|
H A D | post.c | 39 post_data_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, argument
|
H A D | inout.h | 36 typedef int (*inout_func_t)(struct vmctx *ctx, int vcpu, int in, int port, 69 int emulate_inout(struct vmctx *, int vcpu, int in, int port, int bytes,
|
H A D | mem.c | 137 mem_read(void *ctx, int vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg) argument 142 error = (*mr->handler)(ctx, vcpu, MEM_F_READ, gpa, size, 148 mem_write(void *ctx, int vcpu, uint64_t gpa, uint64_t wval, int size, void *arg) argument 153 error = (*mr->handler)(ctx, vcpu, MEM_F_WRITE, gpa, size, 159 emulate_mem(struct vmctx *ctx, int vcpu, uint64_t paddr, struct vie *vie) argument 168 if (mmio_hint[vcpu] && 169 paddr >= mmio_hint[vcpu]->mr_base && 170 paddr <= mmio_hint[vcpu]->mr_end) { 171 entry = mmio_hint[vcpu]; 178 mmio_hint[vcpu] [all...] |
H A D | elcr.c | 47 elcr_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes, argument
|
H A D | ioapic.c | 82 static int ioapic_region_handler(struct vmctx *vm, int vcpu, int dir, 88 int vector, apicid, vcpu; local 121 vcpu = vm_apicid2vcpu(ctx, apicid); 122 vm_lapic_irq(ctx, vcpu, vector); 125 vcpu = 0; 126 while (vcpu < guest_ncpus) { 127 vm_lapic_irq(ctx, vcpu, vector); 128 vcpu++; 359 ioapic_region_handler(struct vmctx *vm, int vcpu, int dir, uintptr_t paddr, argument
|
/freebsd-10.0-release/usr.sbin/bhyvectl/ |
H A D | bhyvectl.c | 255 dump_vm_run_exitcode(struct vm_exit *vmexit, int vcpu) argument 257 printf("vm exit[%d]\n", vcpu); 286 dump_vmcs_msr_bitmap(int vcpu, u_long addr) argument 311 printf("msr 0x%08x[%d]\t\t%c%c\n", msr, vcpu, 322 0xc0000000 + msr, vcpu, 338 vm_get_vmcs_field(struct vmctx *ctx, int vcpu, int field, uint64_t *ret_val) argument 341 return (vm_get_register(ctx, vcpu, VMCS_IDENT(field), ret_val)); 345 vm_set_vmcs_field(struct vmctx *ctx, int vcpu, int field, uint64_t val) argument 348 return (vm_set_register(ctx, vcpu, VMCS_IDENT(field), val)); 388 int error, ch, vcpu, ptenu local [all...] |
/freebsd-10.0-release/lib/libvmmapi/ |
H A D | vmmapi_freebsd.c | 56 * Setup the 'vcpu' register set such that it will begin execution at 60 vm_setup_freebsd_registers(struct vmctx *vmctx, int vcpu, argument 70 if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CR0, cr0)) != 0) 74 if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CR4, cr4)) != 0) 78 if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_EFER, efer))) 82 error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_RFLAGS, rflags); 89 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_CS, 95 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_DS, 100 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_ES, 105 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_F [all...] |
H A D | vmmapi.h | 56 int vm_set_desc(struct vmctx *ctx, int vcpu, int reg, 58 int vm_get_desc(struct vmctx *ctx, int vcpu, int reg, 60 int vm_set_register(struct vmctx *ctx, int vcpu, int reg, uint64_t val); 61 int vm_get_register(struct vmctx *ctx, int vcpu, int reg, uint64_t *retval); 62 int vm_run(struct vmctx *ctx, int vcpu, uint64_t rip, 65 int vm_inject_event(struct vmctx *ctx, int vcpu, enum vm_event_type type, 67 int vm_inject_event2(struct vmctx *ctx, int vcpu, enum vm_event_type type, 69 int vm_lapic_irq(struct vmctx *ctx, int vcpu, int vector); 70 int vm_inject_nmi(struct vmctx *ctx, int vcpu); 73 int vm_get_capability(struct vmctx *ctx, int vcpu, enu [all...] |
H A D | vmmapi.c | 263 vm_set_desc(struct vmctx *ctx, int vcpu, int reg, argument 270 vmsegdesc.cpuid = vcpu; 281 vm_get_desc(struct vmctx *ctx, int vcpu, int reg, argument 288 vmsegdesc.cpuid = vcpu; 301 vm_set_register(struct vmctx *ctx, int vcpu, int reg, uint64_t val) argument 307 vmreg.cpuid = vcpu; 316 vm_get_register(struct vmctx *ctx, int vcpu, int reg, uint64_t *ret_val) argument 322 vmreg.cpuid = vcpu; 331 vm_run(struct vmctx *ctx, int vcpu, uint64_t rip, struct vm_exit *vmexit) argument 337 vmrun.cpuid = vcpu; 346 vm_inject_event_real(struct vmctx *ctx, int vcpu, enum vm_event_type type, int vector, int error_code, int error_code_valid) argument 362 vm_inject_event(struct vmctx *ctx, int vcpu, enum vm_event_type type, int vector) argument 370 vm_inject_event2(struct vmctx *ctx, int vcpu, enum vm_event_type type, int vector, int error_code) argument 388 vm_lapic_irq(struct vmctx *ctx, int vcpu, int vector) argument 400 vm_inject_nmi(struct vmctx *ctx, int vcpu) argument 449 vm_get_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap, int *retval) argument 465 vm_set_capability(struct vmctx *ctx, int vcpu, enum vm_cap_type cap, int val) argument 521 vm_setup_msi(struct vmctx *ctx, int vcpu, int bus, int slot, int func, int destcpu, int vector, int numvec) argument 539 vm_setup_msix(struct vmctx *ctx, int vcpu, int bus, int slot, int func, int idx, uint32_t msg, uint32_t vector_control, uint64_t addr) argument 558 vm_get_stats(struct vmctx *ctx, int vcpu, struct timeval *ret_tv, int *ret_entries) argument 591 vm_get_x2apic_state(struct vmctx *ctx, int vcpu, enum x2apic_state *state) argument 605 vm_set_x2apic_state(struct vmctx *ctx, int vcpu, enum x2apic_state state) argument 624 vcpu_reset(struct vmctx *vmctx, int vcpu) argument [all...] |
/freebsd-10.0-release/sys/amd64/vmm/ |
H A D | vmm.c | 79 struct vcpu { struct 83 int hostcpu; /* host cpuid this vcpu last ran on */ 94 #define vcpu_lock_init(v) mtx_init(&((v)->mtx), "vcpu lock", 0, MTX_SPIN) 111 struct vcpu vcpu[VM_MAXCPU]; member in struct:vm 118 * An active vcpu is one that has been started implicitly (BSP) or 131 #define VMRUN(vmi, vcpu, rip, pmap) \ 132 (ops != NULL ? (*ops->vmrun)(vmi, vcpu, rip, pmap) : ENXIO) 138 #define VMGETREG(vmi, vcpu, num, retval) \ 139 (ops != NULL ? (*ops->vmgetreg)(vmi, vcpu, nu 163 vcpu_cleanup(struct vcpu *vcpu) argument 173 struct vcpu *vcpu; local 190 struct vcpu *vcpu; local 679 vm_get_register(struct vm *vm, int vcpu, int reg, uint64_t *retval) argument 692 vm_set_register(struct vm *vm, int vcpu, int reg, uint64_t val) argument 737 vm_get_seg_desc(struct vm *vm, int vcpu, int reg, struct seg_desc *desc) argument 751 vm_set_seg_desc(struct vm *vm, int vcpu, int reg, struct seg_desc *desc) argument 764 restore_guest_fpustate(struct vcpu *vcpu) argument 782 save_guest_fpustate(struct vcpu *vcpu) argument 797 vcpu_set_state_locked(struct vcpu *vcpu, enum vcpu_state newstate) argument 841 vcpu_require_state_locked(struct vcpu *vcpu, enum vcpu_state newstate) argument 855 struct vcpu *vcpu; local 901 struct vcpu *vcpu; local 938 struct vcpu *vcpu; local 983 struct vcpu *vcpu; local 1075 struct vcpu *vcpu; local 1090 struct vcpu *vcpu; local 1103 struct vcpu *vcpu; local 1118 vm_get_capability(struct vm *vm, int vcpu, int type, int *retval) argument 1130 vm_set_capability(struct vm *vm, int vcpu, int type, int val) argument 1206 struct vcpu *vcpu; local 1223 struct vcpu *vcpu; local 1293 struct vcpu *vcpu; local [all...] |
H A D | vmm_msr.h | 36 int emulate_wrmsr(struct vm *vm, int vcpu, u_int msr, uint64_t val); 37 int emulate_rdmsr(struct vm *vm, int vcpu, u_int msr);
|
H A D | vmm_stat.h | 79 int vmm_stat_copy(struct vm *vm, int vcpu, int *num_stats, uint64_t *buf); 83 vmm_stat_array_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, argument 89 stats = vcpu_stats(vm, vcpu); 98 vmm_stat_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t x) argument 102 vmm_stat_array_incr(vm, vcpu, vst, 0, x);
|
H A D | vmm_dev.c | 146 int error, vcpu, state_changed; local 169 vcpu = -1; 189 * Assumes that the first field of the ioctl data is the vcpu. 191 vcpu = *(int *)data; 192 if (vcpu < 0 || vcpu >= VM_MAXCPU) { 197 error = vcpu_set_state(sc->vm, vcpu, VCPU_FROZEN); 213 for (vcpu = 0; vcpu < VM_MAXCPU; vcpu [all...] |
H A D | vmm_stat.c | 82 vmm_stat_copy(struct vm *vm, int vcpu, int *num_stats, uint64_t *buf) argument 87 if (vcpu < 0 || vcpu >= VM_MAXCPU) 90 stats = vcpu_stats(vm, vcpu); 136 VMM_STAT(VCPU_MIGRATIONS, "vcpu migration across host cpus");
|
/freebsd-10.0-release/sys/amd64/include/ |
H A D | vmm.h | 51 typedef int (*vmi_run_func_t)(void *vmi, int vcpu, register_t rip, 54 typedef int (*vmi_get_register_t)(void *vmi, int vcpu, int num, 56 typedef int (*vmi_set_register_t)(void *vmi, int vcpu, int num, 58 typedef int (*vmi_get_desc_t)(void *vmi, int vcpu, int num, 60 typedef int (*vmi_set_desc_t)(void *vmi, int vcpu, int num, 62 typedef int (*vmi_inject_event_t)(void *vmi, int vcpu, 65 typedef int (*vmi_get_cap_t)(void *vmi, int vcpu, int num, int *retval); 66 typedef int (*vmi_set_cap_t)(void *vmi, int vcpu, int num, int val); 105 int vm_get_register(struct vm *vm, int vcpu, int reg, uint64_t *retval); 106 int vm_set_register(struct vm *vm, int vcpu, in 148 vcpu_is_running(struct vm *vm, int vcpu, int *hostcpu) argument 303 int vcpu; member in struct:vm_exit::__anon5868::__anon5874 [all...] |
/freebsd-10.0-release/sys/amd64/vmm/intel/ |
H A D | vmx.c | 311 #define SETJMP_TRACE(vmx, vcpu, vmxctx, regname) \ 312 VMM_CTR1((vmx)->vm, (vcpu), "setjmp trace " #regname " 0x%016lx", \ 316 vmx_setjmp_trace(struct vmx *vmx, int vcpu, struct vmxctx *vmxctx, int rc) argument 320 if (vmxctx != &vmx->ctx[vcpu]) 322 vmxctx, &vmx->ctx[vcpu]); 324 VMM_CTR1((vmx)->vm, (vcpu), "vmxctx = %p", vmxctx); 325 VMM_CTR2((vmx)->vm, (vcpu), "setjmp return code %s(%d)", 331 VMM_CTR2((vmx)->vm, (vcpu), "vmcs host_rip 0x%016lx, host_rsp 0x%016lx", 334 SETJMP_TRACE(vmx, vcpu, vmxctx, host_r15); 335 SETJMP_TRACE(vmx, vcpu, vmxct 363 vmx_setjmp_trace(struct vmx *vmx, int vcpu, struct vmxctx *vmxctx, int rc) argument 872 vmx_handle_cpuid(struct vm *vm, int vcpu, struct vmxctx *vmxctx) argument 887 vmx_run_trace(struct vmx *vmx, int vcpu) argument 895 vmx_exit_trace(struct vmx *vmx, int vcpu, uint64_t rip, uint32_t exit_reason, int handled) argument 906 vmx_astpending_trace(struct vmx *vmx, int vcpu, uint64_t rip) argument 914 vmx_set_pcpu_defaults(struct vmx *vmx, int vcpu) argument 982 vmx_set_int_window_exiting(struct vmx *vmx, int vcpu) argument 994 vmx_clear_int_window_exiting(struct vmx *vmx, int vcpu) argument 1006 vmx_set_nmi_window_exiting(struct vmx *vmx, int vcpu) argument 1018 vmx_clear_nmi_window_exiting(struct vmx *vmx, int vcpu) argument 1030 vmx_inject_nmi(struct vmx *vmx, int vcpu) argument 1076 vmx_inject_interrupts(struct vmx *vmx, int vcpu) argument 1152 vmx_emulate_cr_access(struct vmx *vmx, int vcpu, uint64_t exitqual) argument 1349 vmx_exit_process(struct vmx *vmx, int vcpu, struct vm_exit *vmexit) argument 1535 vmx_run(void *arg, int vcpu, register_t rip, pmap_t pmap) argument 1792 vmx_getreg(void *arg, int vcpu, int reg, uint64_t *retval) argument 1808 vmx_setreg(void *arg, int vcpu, int reg, uint64_t val) argument 1855 vmx_getdesc(void *arg, int vcpu, int reg, struct seg_desc *desc) argument 1863 vmx_setdesc(void *arg, int vcpu, int reg, struct seg_desc *desc) argument 1871 vmx_inject(void *arg, int vcpu, int type, int vector, uint32_t code, int code_valid) argument 1915 vmx_getcap(void *arg, int vcpu, int type, int *retval) argument 1957 vmx_setcap(void *arg, int vcpu, int type, int val) argument [all...] |
/freebsd-10.0-release/sys/amd64/vmm/amd/ |
H A D | amdv.c | 65 amdv_vmrun(void *arg, int vcpu, register_t rip, struct pmap *pmap) argument 81 amdv_getreg(void *arg, int vcpu, int regnum, uint64_t *retval) argument 89 amdv_setreg(void *arg, int vcpu, int regnum, uint64_t val) argument 97 amdv_getdesc(void *vmi, int vcpu, int num, struct seg_desc *desc) argument 105 amdv_setdesc(void *vmi, int vcpu, int num, struct seg_desc *desc) argument 113 amdv_inject_event(void *vmi, int vcpu, int type, int vector, argument 122 amdv_getcap(void *arg, int vcpu, int type, int *retval) argument 130 amdv_setcap(void *arg, int vcpu, int type, int val) argument
|
/freebsd-10.0-release/sys/amd64/vmm/io/ |
H A D | ppt.h | 35 int ppt_setup_msi(struct vm *vm, int vcpu, int bus, int slot, int func, 37 int ppt_setup_msix(struct vm *vm, int vcpu, int bus, int slot, int func,
|
/freebsd-10.0-release/sys/xen/interface/ |
H A D | event_channel.h | 118 * vcpu. 120 * 1. Virtual IRQs are classified as per-vcpu or global. See the VIRQ list 124 * 3. Per-vcpu VIRQs may be bound to at most one event channel per vcpu. 125 * The allocated event channel is bound to the specified vcpu and the 131 uint32_t vcpu; member in struct:evtchn_bind_virq 156 * 1. The allocated event channel is bound to the specified vcpu. The binding 160 uint32_t vcpu; member in struct:evtchn_bind_ipi 207 uint32_t vcpu; /* VCPU to which this channel is bound. */ member in struct:evtchn_status 223 * EVTCHNOP_bind_vcpu: Specify which vcpu 237 uint32_t vcpu; member in struct:evtchn_bind_vcpu [all...] |
/freebsd-10.0-release/lib/libkse/thread/ |
H A D | thr_concurrency.c | 165 int vcpu; local 169 len = sizeof(vcpu); 170 ret = sysctlbyname("kern.threads.virtual_cpu", &vcpu, &len, NULL, 0); 171 if (ret == 0 && vcpu > 0) 172 ret = _thr_setconcurrency(vcpu);
|