/qemu/target/i386/hvf/ |
H A D | vmx.h | 39 static inline uint64_t rreg(hv_vcpuid_t vcpu, hv_x86_reg_t reg) in rreg() argument 43 if (hv_vcpu_read_register(vcpu, reg, &v)) { in rreg() 51 static inline void wreg(hv_vcpuid_t vcpu, hv_x86_reg_t reg, uint64_t v) in wreg() argument 53 if (hv_vcpu_write_register(vcpu, reg, v)) { in wreg() 59 static inline uint64_t rvmcs(hv_vcpuid_t vcpu, uint32_t field) in rvmcs() argument 63 hv_vmx_vcpu_read_vmcs(vcpu, field, &v); in rvmcs() 69 static inline void wvmcs(hv_vcpuid_t vcpu, uint32_t field, uint64_t v) in wvmcs() argument 71 hv_vmx_vcpu_write_vmcs(vcpu, field, v); in wvmcs() 92 static void enter_long_mode(hv_vcpuid_t vcpu, uint64_t cr0, uint64_t efer) in enter_long_mode() argument 97 wvmcs(vcpu, VMCS_GUEST_IA32_EFER, efer); in enter_long_mode() [all …]
|
/qemu/contrib/plugins/ |
H A D | ips.c | 61 static void update_system_time(vCPUTime *vcpu) in update_system_time() argument 63 int64_t elapsed_ns = now_ns() - vcpu->last_quantum_time; in update_system_time() 66 if (vcpu->quantum_insn >= max_insn) { in update_system_time() 68 uint64_t insn_advance = vcpu->quantum_insn - max_insn; in update_system_time() 74 vcpu->total_insn += vcpu->quantum_insn; in update_system_time() 75 vcpu->quantum_insn = 0; in update_system_time() 76 vcpu->last_quantum_time = now_ns(); in update_system_time() 79 int64_t new_virtual_time = time_for_insn(vcpu->total_insn); in update_system_time() 94 vCPUTime *vcpu = qemu_plugin_scoreboard_find(vcpus, cpu_index); in vcpu_init() local 95 vcpu->total_insn = 0; in vcpu_init() [all …]
|
H A D | bbv.c | 61 Vcpu *vcpu = qemu_plugin_scoreboard_find(vcpus, vcpu_index); in vcpu_init() local 64 vcpu->file = fopen(vcpu_filename, "w"); in vcpu_init() 69 Vcpu *vcpu = qemu_plugin_scoreboard_find(vcpus, vcpu_index); in vcpu_interval_exec() local 73 if (!vcpu->file) { in vcpu_interval_exec() 77 vcpu->count -= interval; in vcpu_interval_exec() 79 fputc('T', vcpu->file); in vcpu_interval_exec() 92 fprintf(vcpu->file, ":%u:%" PRIu64 " ", bb->index, bb_count); in vcpu_interval_exec() 97 fputc('\n', vcpu->file); in vcpu_interval_exec()
|
/qemu/target/i386/nvmm/ |
H A D | nvmm-all.c | 30 struct nvmm_vcpu vcpu; member 85 struct nvmm_vcpu *vcpu = &qcpu->vcpu; in nvmm_set_registers() local 86 struct nvmm_x64_state *state = vcpu->state; in nvmm_set_registers() 191 ret = nvmm_vcpu_setstate(mach, vcpu, bitmap); in nvmm_set_registers() 222 struct nvmm_vcpu *vcpu = &qcpu->vcpu; in nvmm_get_registers() local 224 struct nvmm_x64_state *state = vcpu->state; in nvmm_get_registers() 239 ret = nvmm_vcpu_getstate(mach, vcpu, bitmap); in nvmm_get_registers() 345 struct nvmm_vcpu *vcpu = &qcpu->vcpu; in nvmm_can_take_int() local 353 struct nvmm_x64_state *state = vcpu->state; in nvmm_can_take_int() 356 nvmm_vcpu_getstate(mach, vcpu, NVMM_X64_STATE_INTR); in nvmm_can_take_int() [all …]
|
/qemu/target/i386/whpx/ |
H A D | whpx-all.c | 383 AccelCPUState *vcpu = cpu->accel; in whpx_set_registers() local 408 vcpu->tpr = whpx_apic_tpr_to_cr8(cpu_get_apic_tpr(x86_cpu->apic_state)); in whpx_set_registers() 409 vcpu->apic_base = cpu_get_apic_base(x86_cpu->apic_state); in whpx_set_registers() 459 vcxt.values[idx++].Reg64 = vcpu->tpr; in whpx_set_registers() 517 vcxt.values[idx++].Reg64 = vcpu->apic_base; in whpx_set_registers() 598 AccelCPUState *vcpu = cpu->accel; in whpx_get_registers() local 632 vcpu->tpr = whpx_apic_tpr_to_cr8( in whpx_get_registers() 681 if (tpr != vcpu->tpr) { in whpx_get_registers() 682 vcpu->tpr = tpr; in whpx_get_registers() 739 if (apic_base != vcpu->apic_base) { in whpx_get_registers() [all …]
|
/qemu/hw/i386/kvm/ |
H A D | xen_evtchn.c | 59 uint32_t vcpu; /* Xen/ACPI vcpu_id */ member 246 VMSTATE_UINT32(vcpu, XenEvtchnPort), 540 static void inject_callback(XenEvtchnState *s, uint32_t vcpu) in inject_callback() argument 544 kvm_xen_inject_vcpu_callback_vector(vcpu, type); in inject_callback() 578 ha.u.evtchn.deliver.port.vcpu = kvm_arch_vcpu_id(cpu); in assign_kernel_port() 611 static bool valid_vcpu(uint32_t vcpu) in valid_vcpu() argument 613 return !!qemu_get_cpu(vcpu); in valid_vcpu() 663 status->vcpu = p->vcpu; in xen_evtchn_status_op() 748 inject_callback(s, s->port_table[port].vcpu); in do_unmask_port_lm() 806 inject_callback(s, s->port_table[port].vcpu); in do_unmask_port_compat() [all …]
|
H A D | xen_evtchn.h | 73 int xen_evtchn_bind_vcpu_op(struct evtchn_bind_vcpu *vcpu);
|
/qemu/include/hw/xen/interface/ |
H A D | event_channel.h | 128 uint32_t vcpu; member 157 uint32_t vcpu; member 204 uint32_t vcpu; /* VCPU to which this channel is bound. */ member 234 uint32_t vcpu; member 275 uint32_t vcpu; member
|
/qemu/hw/ppc/ |
H A D | spapr_nested.c | 565 struct SpaprMachineStateNestedGuestVcpu *vcpu; in spapr_nested_vcpu_check() local 579 vcpu = &guest->vcpus[vcpuid]; in spapr_nested_vcpu_check() 580 if (!vcpu->enabled) { in spapr_nested_vcpu_check() 589 if (vcpu->runbufin.addr && vcpu->runbufout.addr) { in spapr_nested_vcpu_check() 1605 SpaprMachineStateNestedGuestVcpu *vcpu) in exit_nested_store_l2() argument 1611 assert(sizeof(env->gpr) == sizeof(vcpu->state.gpr)); /* sanity check */ in exit_nested_store_l2() 1614 now -= vcpu->tb_offset; /* L1 timebase */ in exit_nested_store_l2() 1615 vcpu->state.dec_expiry_tb = now - cpu_ppc_load_decr(env); in exit_nested_store_l2() 1618 hdar = vcpu->state.hdar; in exit_nested_store_l2() 1619 hdsisr = vcpu->state.hdsisr; in exit_nested_store_l2() [all …]
|
/qemu/docs/specs/ |
H A D | rapl-msr.rst | 60 3. Sleep for 1 second - During this pause the vcpu and other non-vcpu threads 67 5. Filter the vcpu threads and the non-vcpu threads. 72 7. The total energy spent by the non-vcpu threads is divided by the number 73 of vcpu threads so that each vcpu thread will get an equal part of the 76 8. Calculate the ratio of energy spent per vcpu threads.
|
/qemu/accel/kvm/ |
H A D | trace-events | 25 kvm_dirty_ring_full(int id) "vcpu %d" 26 kvm_dirty_ring_reap_vcpu(int id) "vcpu %d" 27 kvm_dirty_ring_page(int vcpu, uint32_t slot, uint64_t offset) "vcpu %d fetch %"PRIu32" offset 0x%"P…
|
/qemu/monitor/ |
H A D | hmp-cmds-target.c | 99 int vcpu = qdict_get_try_int(qdict, "vcpu", -1); in hmp_info_registers() local 108 cs = vcpu >= 0 ? qemu_get_cpu(vcpu) : mon_get_cpu(mon); in hmp_info_registers() 111 if (vcpu >= 0) { in hmp_info_registers() 112 monitor_printf(mon, "CPU#%d not available\n", vcpu); in hmp_info_registers()
|
/qemu/stats/ |
H A D | stats-qmp-cmds.c | 59 if (filter->u.vcpu.has_vcpus) { in invoke_stats_cb() 60 if (!filter->u.vcpu.vcpus) { in invoke_stats_cb() 64 targets = filter->u.vcpu.vcpus; in invoke_stats_cb()
|
H A D | stats-hmp-cmds.c | 154 filter->u.vcpu.has_vcpus = true; in stats_filter() 155 filter->u.vcpu.vcpus = vcpu_list; in stats_filter()
|
/qemu/hw/intc/ |
H A D | arm_gic.c | 279 int vcpu = cpu + GIC_NCPU; in gic_compute_misr() local 308 (s->cpu_ctlr[vcpu] & GICC_CTLR_EN_GRP0)) { in gic_compute_misr() 314 !(s->cpu_ctlr[vcpu] & GICC_CTLR_EN_GRP0)) { in gic_compute_misr() 320 (s->cpu_ctlr[vcpu] & GICC_CTLR_EN_GRP1)) { in gic_compute_misr() 326 !(s->cpu_ctlr[vcpu] & GICC_CTLR_EN_GRP1)) { in gic_compute_misr() 1892 int vcpu = gic_get_current_vcpu(s); in gic_vmcr_write() local 1903 gic_set_cpu_control(s, vcpu, ctlr, attrs); in gic_vmcr_write() 1904 s->abpr[vcpu] = MAX(abpr, GIC_VIRT_MIN_ABPR); in gic_vmcr_write() 1905 s->bpr[vcpu] = MAX(bpr, GIC_VIRT_MIN_BPR); in gic_vmcr_write() 1906 gic_set_priority_mask(s, vcpu, prio_mask, attrs); in gic_vmcr_write() [all …]
|
H A D | gic_internal.h | 198 static inline bool gic_virq_is_valid(GICState *s, int irq, int vcpu) in gic_virq_is_valid() argument 200 int cpu = gic_get_vcpu_real_id(vcpu); in gic_virq_is_valid() 229 static inline uint32_t *gic_get_lr_entry(GICState *s, int irq, int vcpu) in gic_get_lr_entry() argument 231 int cpu = gic_get_vcpu_real_id(vcpu); in gic_get_lr_entry()
|
/qemu/target/i386/kvm/ |
H A D | trace-events | 14 kvm_xen_set_vcpu_attr(int cpu, int type, uint64_t gpa) "vcpu attr cpu %d type %d gpa 0x%" PRIx64 15 kvm_xen_set_vcpu_callback(int cpu, int vector) "callback vcpu %d vector %d"
|
H A D | xen-emu.c | 854 target_cs = qemu_get_cpu(up.vcpu); in kvm_xen_hcall_evtchn_upcall_vector() 1371 struct evtchn_bind_vcpu vcpu; in kvm_xen_hcall_evtchn_op() local 1373 qemu_build_assert(sizeof(vcpu) == 8); in kvm_xen_hcall_evtchn_op() 1374 if (kvm_copy_from_gva(cs, arg, &vcpu, sizeof(vcpu))) { in kvm_xen_hcall_evtchn_op() 1379 err = xen_evtchn_bind_vcpu_op(&vcpu); in kvm_xen_hcall_evtchn_op()
|
/qemu/include/hw/xen/ |
H A D | xen-hvm-common.h | 31 static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) in xen_vcpu_ioreq() argument 33 return &shared_page->vcpu_ioreq[vcpu]; in xen_vcpu_ioreq()
|
/qemu/qga/ |
H A D | commands-linux.c | 1493 static void transfer_vcpu(GuestLogicalProcessor *vcpu, bool sys2vcpu, in transfer_vcpu() argument 1512 vcpu->online = true; in transfer_vcpu() 1513 vcpu->can_offline = false; in transfer_vcpu() 1514 } else if (!vcpu->online) { in transfer_vcpu() 1516 "offlined", vcpu->logical_id); in transfer_vcpu() 1528 vcpu->online = (status != '0'); in transfer_vcpu() 1529 vcpu->can_offline = true; in transfer_vcpu() 1530 } else if (vcpu->online != (status != '0')) { in transfer_vcpu() 1531 status = '0' + vcpu->online; in transfer_vcpu() 1564 GuestLogicalProcessor *vcpu; in qmp_guest_get_vcpus() local [all …]
|
H A D | commands-win32.c | 1829 GuestLogicalProcessor *vcpu; in qmp_guest_get_vcpus() local 1831 vcpu = g_malloc0(sizeof *vcpu); in qmp_guest_get_vcpus() 1832 vcpu->logical_id = current++; in qmp_guest_get_vcpus() 1833 vcpu->online = true; in qmp_guest_get_vcpus() 1834 vcpu->has_can_offline = true; in qmp_guest_get_vcpus() 1836 QAPI_LIST_APPEND(tail, vcpu); in qmp_guest_get_vcpus()
|
/qemu/ |
H A D | hmp-commands-info.hx | 103 .args_type = "cpustate_all:-a,vcpu:i?", 104 .params = "[-a|vcpu]", 106 " vcpu: specific vCPU to query; show the current CPU's registers if" 583 .args_type = "name:s?,vcpu:i?", 584 .params = "[name] [vcpu]", 586 "(name: event name pattern; vcpu: vCPU to query, default is any)", 839 Display the vcpu dirty rate information. 852 Display the vcpu dirty page limit information. 889 .help = "show statistics for the given target (vm or vcpu); optionally filter by"
|
/qemu/qapi/ |
H A D | migration.json | 235 # @postcopy-vcpu-blocktime: list of the postcopy blocktime per vCPU. 277 '*postcopy-vcpu-blocktime': ['uint32'], 473 # keep their dirty page rate within @vcpu-dirty-limit. This can 871 # @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty 875 # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration. 892 # @x-vcpu-dirty-limit-period are experimental. 911 { 'name': 'x-vcpu-dirty-limit-period', 'features': ['unstable'] }, 912 'vcpu-dirty-limit', 1052 # @x-vcpu-dirty-limit-period: Periodic time (in milliseconds) of dirty 1056 # @vcpu-dirty-limit: Dirtyrate limit (MB/s) during live migration. [all …]
|
H A D | stats.json | 77 # @vcpu: statistics that apply to a single virtual CPU. 84 'data': [ 'vm', 'vcpu', 'cryptodev' ] } 132 'data': { 'vcpu': 'StatsVCPUFilter' } }
|
/qemu/hw/hyperv/ |
H A D | hyperv.c | 377 static int kvm_irqchip_add_hv_sint_route(KVMState *s, uint32_t vcpu, uint32_t sint) in kvm_irqchip_add_hv_sint_route() argument 393 kroute.u.hv_sint.vcpu = vcpu; in kvm_irqchip_add_hv_sint_route()
|