Home
last modified time | relevance | path

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

12

/qemu/target/i386/hvf/
H A Dvmx.h39 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 Dips.c61 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 Dbbv.c61 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 Dnvmm-all.c30 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 Dwhpx-all.c383 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 Dxen_evtchn.c59 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 Dxen_evtchn.h73 int xen_evtchn_bind_vcpu_op(struct evtchn_bind_vcpu *vcpu);
/qemu/include/hw/xen/interface/
H A Devent_channel.h128 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 Dspapr_nested.c565 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 Drapl-msr.rst60 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 Dtrace-events25 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 Dhmp-cmds-target.c99 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 Dstats-qmp-cmds.c59 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 Dstats-hmp-cmds.c154 filter->u.vcpu.has_vcpus = true; in stats_filter()
155 filter->u.vcpu.vcpus = vcpu_list; in stats_filter()
/qemu/hw/intc/
H A Darm_gic.c279 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 Dgic_internal.h198 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 Dtrace-events14 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 Dxen-emu.c854 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 Dxen-hvm-common.h31 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 Dcommands-linux.c1493 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 Dcommands-win32.c1829 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 Dhmp-commands-info.hx103 .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 Dmigration.json235 # @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 Dstats.json77 # @vcpu: statistics that apply to a single virtual CPU.
84 'data': [ 'vm', 'vcpu', 'cryptodev' ] }
132 'data': { 'vcpu': 'StatsVCPUFilter' } }
/qemu/hw/hyperv/
H A Dhyperv.c377 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()

12