Home
last modified time | relevance | path

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

12

/hyp/misc/vet/src/
A Dvet.c38 thread_t *vcpu = thread_get_self(); in vet_handle_thread_context_switch_pre() local
39 assert(vcpu != NULL); in vet_handle_thread_context_switch_pre()
42 vet_update_trace_unit_status(vcpu); in vet_handle_thread_context_switch_pre()
45 vet_flush_trace(vcpu); in vet_handle_thread_context_switch_pre()
53 vet_flush_buffer(vcpu); in vet_handle_thread_context_switch_pre()
66 assert(vcpu != NULL); in vet_handle_thread_load_state()
118 if (may_poweroff && (vcpu != NULL) && vcpu->vet_trace_buffer_enabled) { in vet_handle_power_cpu_suspend()
122 if ((vcpu != NULL) && vcpu->vet_trace_unit_enabled) { in vet_handle_power_cpu_suspend()
138 if ((vcpu != NULL) && vcpu->vet_trace_unit_enabled) { in vet_unwind_power_cpu_suspend()
153 if (was_poweroff && (vcpu != NULL) && vcpu->vet_trace_buffer_enabled) { in vet_handle_power_cpu_resume()
[all …]
/hyp/vm/vcpu_power/src/
A Dvcpu_power.c23 assert((vcpu != NULL) && !vcpu->vcpu_power_should_vote); in vcpu_power_handle_vcpu_poweron()
24 vcpu->vcpu_power_should_vote = true; in vcpu_power_handle_vcpu_poweron()
30 if (vcpu_run_is_enabled(vcpu)) { in vcpu_power_handle_vcpu_poweron()
48 assert((vcpu != NULL) && vcpu->vcpu_power_should_vote); in vcpu_power_handle_vcpu_poweroff()
54 if (vcpu_run_is_enabled(vcpu)) { in vcpu_power_handle_vcpu_poweroff()
69 thread_t *vcpu = thread_get_self(); in vcpu_power_handle_vcpu_stopped() local
70 assert((vcpu != NULL) && (vcpu->kind == THREAD_KIND_VCPU)); in vcpu_power_handle_vcpu_stopped()
72 scheduler_lock_nopreempt(vcpu); in vcpu_power_handle_vcpu_stopped()
80 if (vcpu_run_is_enabled(vcpu)) { in vcpu_power_handle_vcpu_stopped()
90 scheduler_unlock_nopreempt(vcpu); in vcpu_power_handle_vcpu_stopped()
[all …]
/hyp/vm/vcpu_run/src/
A Dvcpu_run.c115 scheduler_lock(vcpu); in hypercall_vcpu_run()
162 scheduler_unlock(vcpu); in hypercall_vcpu_run()
164 object_put_thread(vcpu); in hypercall_vcpu_run()
190 scheduler_lock(vcpu); in hypercall_vcpu_run_check()
201 scheduler_unlock(vcpu); in hypercall_vcpu_run_check()
204 object_put_thread(vcpu); in hypercall_vcpu_run_check()
214 scheduler_lock(vcpu); in vcpu_run_handle_vcpu_bind_virq()
231 scheduler_unlock(vcpu); in vcpu_run_handle_vcpu_bind_virq()
248 thread_t *vcpu = in vcpu_run_handle_task_queue_execute() local
251 assert(vcpu != NULL); in vcpu_run_handle_task_queue_execute()
[all …]
/hyp/vm/vcpu/aarch64/src/
A Dhypercalls.c77 object_put_thread(vcpu); in hypercall_vcpu_configure()
97 thread_t *vcpu = result.r; in hypercall_vcpu_register_write() local
101 object_put_thread(vcpu); in hypercall_vcpu_register_write()
133 object_put_thread(vcpu); in hypercall_vcpu_bind_virq()
154 object_put_thread(vcpu); in hypercall_vcpu_unbind_virq()
194 object_put_thread(vcpu);
213 object_put_thread(vcpu);
242 scheduler_lock(vcpu);
245 vcpu,
260 scheduler_unlock(vcpu);
[all …]
A Daarch64_init.c101 if (thread_get_self() == vcpu) { in arch_vcpu_el1_registers_init()
341 assert((vcpu != NULL) && (vcpu->kind == THREAD_KIND_VCPU)); in vcpu_reset_execution_context()
346 arch_vcpu_el1_registers_init(vcpu); in vcpu_reset_execution_context()
365 assert(vcpu != NULL); in vcpu_poweron()
369 if (thread_is_dying(vcpu) || thread_has_exited(vcpu)) { in vcpu_poweron()
378 vcpu_reset_execution_context(vcpu); in vcpu_poweron()
485 vcpu_resume(thread_t *vcpu) in vcpu_resume() argument
487 assert(vcpu != NULL); in vcpu_resume()
499 thread_t *vcpu = thread_get_self(); in vcpu_warm_reset() local
507 vcpu_reset_execution_context(vcpu); in vcpu_warm_reset()
[all …]
A Dreg_access.c45 vcpu_register_write(thread_t *vcpu, vcpu_register_set_t register_set, in vcpu_register_write() argument
50 if (compiler_expected(vcpu->kind != THREAD_KIND_VCPU)) { in vcpu_register_write()
55 scheduler_lock(vcpu); in vcpu_register_write()
57 thread_state_t state = atomic_load_relaxed(&vcpu->state); in vcpu_register_write()
64 if (!scheduler_is_blocked(vcpu, SCHEDULER_BLOCK_VCPU_OFF)) { in vcpu_register_write()
73 vcpu_gpr_write(vcpu, (uint8_t)register_index, value); in vcpu_register_write()
84 vcpu->vcpu_regs_gpr.pc = ELR_EL2_cast(value); in vcpu_register_write()
94 vcpu->vcpu_regs_el1.sp_el0 = SP_EL0_cast(value); in vcpu_register_write()
97 vcpu->vcpu_regs_el1.sp_el1 = SP_EL1_cast(value); in vcpu_register_write()
109 scheduler_unlock(vcpu); in vcpu_register_write()
A Dwfi.c137 vcpu_wakeup(thread_t *vcpu) in vcpu_wakeup() argument
139 assert(vcpu != NULL); in vcpu_wakeup()
140 assert(vcpu->kind == THREAD_KIND_VCPU); in vcpu_wakeup()
143 if (vcpu == thread_get_self()) { in vcpu_wakeup()
145 vcpu_runtime_flags_set_vcpu_interrupted(&vcpu->vcpu_flags, in vcpu_wakeup()
150 trigger_vcpu_wakeup_event(vcpu); in vcpu_wakeup()
152 if (scheduler_unblock(vcpu, SCHEDULER_BLOCK_VCPU_WFI)) { in vcpu_wakeup()
/hyp/mem/addrspace/aarch64/src/
A Dvmmio.c72 if (scheduler_is_blocked(vcpu, in addrspace_handle_vcpu_run_check()
74 *state_data_0 = (register_t)vcpu->addrspace_vmmio_access_ipa; in addrspace_handle_vcpu_run_check()
75 *state_data_1 = (register_t)vcpu->addrspace_vmmio_access_size; in addrspace_handle_vcpu_run_check()
76 *state_data_2 = (register_t)vcpu->addrspace_vmmio_access_value; in addrspace_handle_vcpu_run_check()
77 ret = vcpu->addrspace_vmmio_access_write in addrspace_handle_vcpu_run_check()
90 assert(scheduler_is_blocked(vcpu, in addrspace_handle_vcpu_run_resume_read()
92 !vcpu->addrspace_vmmio_access_write); in addrspace_handle_vcpu_run_resume_read()
93 vcpu->addrspace_vmmio_access_value = resume_data_0; in addrspace_handle_vcpu_run_resume_read()
99 addrspace_handle_vcpu_run_resume_write(thread_t *vcpu) in addrspace_handle_vcpu_run_resume_write() argument
101 assert(scheduler_is_blocked(vcpu, in addrspace_handle_vcpu_run_resume_write()
[all …]
/hyp/vm/vgic/src/
A Ddeliver.c816 unlisted = vgic_sync_lr(vic, vcpu, &vcpu->vgic_lrs[i], in vgic_undeliver()
1866 virq, vcpu, in vgic_reclaim_lr()
3080 gicv3_read_ich_aprs(vcpu->vgic_ap0rs, vcpu->vgic_ap1rs); in vgic_handle_thread_save_state()
3111 if (!vcpu->vgic_group0_enabled && !vcpu->vgic_group1_enabled) { in vgic_do_delivery_check()
3448 (void)vgic_sync_lr(vic, vcpu, &vcpu->vgic_lrs[i], in vgic_reroute_all()
3658 gicv3_write_ich_aprs(vcpu->vgic_ap0rs, vcpu->vgic_ap1rs); in vgic_handle_thread_load_state()
3771 (vcpu->vgic_group0_enabled || vcpu->vgic_group1_enabled)) { in vgic_handle_vcpu_pending_wakeup()
3800 if (vcpu->vgic_group0_enabled || vcpu->vgic_group1_enabled) { in vgic_handle_vcpu_stopped()
3808 vcpu->vgic_vic, vcpu, GICD_CTLR_DS_default()); in vgic_handle_vcpu_stopped()
3838 vgic_reclaim_lr(vcpu->vgic_vic, vcpu, lr, in vgic_handle_vcpu_trap_wfi()
[all …]
A Dutil.c186 assert(vcpu != NULL); in vgic_find_source()
188 &vcpu->vgic_sources[virq - GIC_PPI_BASE]); in vgic_find_source()
209 assert(vcpu != NULL); in _Atomic()
210 dstate = &vcpu->vgic_private_states[virq]; in _Atomic()
245 vgic_lr_owner_lock(thread_t *vcpu) in vgic_lr_owner_lock() argument
248 return vgic_lr_owner_lock_nopreempt(vcpu); in vgic_lr_owner_lock()
252 vgic_lr_owner_lock_nopreempt(thread_t *vcpu) LOCK_IMPL in vgic_lr_owner_lock_nopreempt() argument
255 if ((vcpu != NULL) && (vcpu != thread_get_self())) { in vgic_lr_owner_lock_nopreempt()
266 vgic_lr_owner_unlock(thread_t *vcpu) in vgic_lr_owner_unlock() argument
268 vgic_lr_owner_unlock_nopreempt(vcpu); in vgic_lr_owner_unlock()
[all …]
A Dvgic.c11 vic_get_vic(const thread_t *vcpu) in vic_get_vic() argument
13 return vcpu->vgic_vic; in vic_get_vic()
/hyp/vm/vetm/src/
A Dvetm.c89 assert(vcpu != NULL); in vetm_vdevice_write()
94 vcpu->vetm_enabled = ((val & 0x1U) != 0U); in vetm_vdevice_write()
111 (void)vcpu; in vetm_vdevice_read()
126 thread_t *vcpu = thread_get_self(); in vetm_handle_vdevice_access_fixed_addr() local
127 assert(vcpu != NULL); in vetm_handle_vdevice_access_fixed_addr()
148 ret = vetm_vdevice_read(vcpu, pcpu, offset, in vetm_handle_vdevice_access_fixed_addr()
162 thread_t *vcpu = thread_get_self(); in vetm_handle_thread_load_state() local
163 assert(vcpu != NULL); in vetm_handle_thread_load_state()
168 sizeof(vcpu->vetm_trcvi_ctlr)); in vetm_handle_thread_load_state()
175 thread_t *vcpu = thread_get_self(); in vetm_handle_thread_context_switch_pre() local
[all …]
/hyp/vm/vic_base/src/
A Dforward_private.c60 scheduler_lock(vcpu); in vic_bind_private_hwirq_helper()
61 cpu = vcpu->scheduler_affinity; in vic_bind_private_hwirq_helper()
62 scheduler_unlock(vcpu); in vic_bind_private_hwirq_helper()
73 vcpu, fp->virq, irq_info->irq, in vic_bind_private_hwirq_helper()
116 scheduler_lock(vcpu); in vic_sync_private_hwirq_helper()
118 scheduler_unlock(vcpu); in vic_sync_private_hwirq_helper()
135 scheduler_lock(vcpu); in vic_disable_private_hwirq_helper()
137 scheduler_unlock(vcpu); in vic_disable_private_hwirq_helper()
200 if ((vcpu != NULL) && vcpu->vic_base_forward_private_active) { in vic_bind_hwirq_forward_private()
420 vic_t *vic = vic_get_vic(vcpu); in vic_base_handle_vcpu_started()
[all …]
/hyp/interfaces/vcpu/include/
A Dvcpu.h23 vcpu_poweron(thread_t *vcpu, vmaddr_result_t entry_point,
24 register_result_t context) REQUIRE_SCHEDULER_LOCK(vcpu);
78 vcpu_resume(thread_t *vcpu) REQUIRE_SCHEDULER_LOCK(vcpu);
89 vcpu_wakeup(thread_t *vcpu) REQUIRE_SCHEDULER_LOCK(vcpu);
162 vcpu_bind_virq(thread_t *vcpu, vic_t *vic, virq_t virq,
166 vcpu_unbind_virq(thread_t *vcpu, vcpu_virq_type_t virq_type);
/hyp/interfaces/vcpu/
A Dbuild.conf5 types vcpu.tc
6 events vcpu.ev
8 arch_types armv8 vcpu.tc
9 arch_types aarch64 vcpu.tc
/hyp/vm/vgic/include/
A Dinternal.h11 (uintptr_t)vcpu, __VA_ARGS__)
15 (uintptr_t)vcpu, __VA_ARGS__)
35 EXCLUDE_SCHEDULER_LOCK(vcpu);
38 vgic_undeliver(vic_t *vic, thread_t *vcpu,
41 EXCLUDE_SCHEDULER_LOCK(vcpu);
44 vgic_undeliver_all(vic_t *vic, thread_t *vcpu) EXCLUDE_SCHEDULER_LOCK(vcpu);
47 vgic_deactivate(vic_t *vic, thread_t *vcpu, virq_t virq,
67 vgic_lr_owner_lock(thread_t *vcpu) ACQUIRE_LOCK(vcpu->vgic_lr_owner_lock)
71 vgic_lr_owner_lock_nopreempt(thread_t *vcpu)
75 vgic_lr_owner_unlock(thread_t *vcpu) RELEASE_LOCK(vcpu->vgic_lr_owner_lock)
[all …]
/hyp/vm/vcpu/src/
A Dvcpu.c153 vcpu_bind_virq(thread_t *vcpu, vic_t *vic, virq_t virq, in vcpu_bind_virq() argument
156 return trigger_vcpu_bind_virq_event(virq_type, vcpu, vic, virq); in vcpu_bind_virq()
160 vcpu_unbind_virq(thread_t *vcpu, vcpu_virq_type_t virq_type) in vcpu_unbind_virq() argument
162 return trigger_vcpu_unbind_virq_event(virq_type, vcpu); in vcpu_unbind_virq()
166 vcpu_handle_vcpu_bind_virq(thread_t *vcpu, vic_t *vic, virq_t virq) in vcpu_handle_vcpu_bind_virq() argument
168 error_t err = vic_bind_shared(&vcpu->vcpu_halt_virq_src, vic, virq, in vcpu_handle_vcpu_bind_virq()
175 vcpu_handle_vcpu_unbind_virq(thread_t *vcpu) in vcpu_handle_vcpu_unbind_virq() argument
177 vic_unbind_sync(&vcpu->vcpu_halt_virq_src); in vcpu_handle_vcpu_unbind_virq()
/hyp/vm/psci/include/
A Dpsci_common.h34 psci_vpm_active_vcpus_get(cpu_index_t cpu, thread_t *vcpu)
35 REQUIRE_SCHEDULER_LOCK(vcpu);
38 psci_vpm_active_vcpus_put(cpu_index_t cpu, thread_t *vcpu)
39 REQUIRE_SCHEDULER_LOCK(vcpu);
A Dpsci_pm_list.h16 psci_pm_list_insert(cpu_index_t cpu_index, thread_t *vcpu);
20 psci_pm_list_delete(cpu_index_t cpu_index, thread_t *vcpu);
/hyp/vm/psci/src/
A Dpsci_pm_list.c35 psci_pm_list_insert(cpu_index_t cpu_index, thread_t *vcpu) in psci_pm_list_insert() argument
40 list_insert_at_tail_release(list, &vcpu->psci_pm_list_node); in psci_pm_list_insert()
45 psci_pm_list_delete(cpu_index_t cpu_index, thread_t *vcpu) in psci_pm_list_delete() argument
50 (void)list_delete_node(list, &vcpu->psci_pm_list_node); in psci_pm_list_delete()
/hyp/vm/vetm_null/src/
A Dvetm_null.c23 thread_t *vcpu = thread_get_self(); in vetm_null_handle_vdevice_access_fixed_addr() local
24 assert(vcpu != NULL); in vetm_null_handle_vdevice_access_fixed_addr()
26 if (!vcpu_option_flags_get_hlos_vm(&vcpu->vcpu_options)) { in vetm_null_handle_vdevice_access_fixed_addr()
/hyp/vm/vic_base/include/
A Dvic_base.h14 vic_attach_vcpu(vic_t *vic, thread_t *vcpu, index_t index);
20 thread_t *vcpu, virq_t virq);
24 thread_t *vcpu, virq_t virq, irq_t pirq,
/hyp/interfaces/vcpu_run/include/
A Dvcpu_run.h15 vcpu_run_is_enabled(const thread_t *vcpu) REQUIRE_SCHEDULER_LOCK(vcpu);
/hyp/vm/vcpu/include/
A Dvcpu.h6 vcpu_bind_virq(thread_t *vcpu, vic_t *vic, virq_t virq,
10 vcpu_unbind_virq(thread_t *vcpu, vcpu_virq_type_t virq_type);
/hyp/vm/vcpu/
A Dbuild.conf5 interface vcpu
8 types vcpu.tc
9 events vcpu.ev
10 source vcpu.c

Completed in 78 milliseconds

12