| /hyp/platform/trbe/src/ |
| A D | trbe.c | 22 trbe_save_context_percpu(cpu_index_t cpu) in trbe_save_context_percpu() argument 24 CPULOCAL_BY_INDEX(trbe_contexts, cpu).TRBLIMITR_EL1 = in trbe_save_context_percpu() 27 CPULOCAL_BY_INDEX(trbe_contexts, cpu).TRBPTR_EL1 = in trbe_save_context_percpu() 30 CPULOCAL_BY_INDEX(trbe_contexts, cpu).TRBBASER_EL1 = in trbe_save_context_percpu() 33 CPULOCAL_BY_INDEX(trbe_contexts, cpu).TRBSR_EL1 = in trbe_save_context_percpu() 36 CPULOCAL_BY_INDEX(trbe_contexts, cpu).TRBMAR_EL1 = in trbe_save_context_percpu() 39 CPULOCAL_BY_INDEX(trbe_contexts, cpu).TRBTRG_EL1 = in trbe_save_context_percpu() 44 trbe_restore_context_percpu(cpu_index_t cpu) in trbe_restore_context_percpu() argument 51 CPULOCAL_BY_INDEX(trbe_contexts, cpu).TRBPTR_EL1, in trbe_restore_context_percpu() 62 CPULOCAL_BY_INDEX(trbe_contexts, cpu).TRBMAR_EL1, in trbe_restore_context_percpu() [all …]
|
| /hyp/platform/etm/src/ |
| A D | etm.c | 255 (void)cpu; in etm_unlock_percpu() 261 etm_lock_percpu(cpu_index_t cpu) in etm_lock_percpu() argument 335 etm_cprgctlr[cpu] = atomic_load_relaxed(&mapped_etms[cpu]->trcprgctlr); in etm_save_context_percpu() 348 etm_claim_tag[cpu] = in etm_save_context_percpu() 414 etm_claim_tag[cpu]); in etm_restore_context_percpu() 429 etm_unlock_percpu(cpu); in etm_handle_power_cpu_online() 430 etm_os_unlock_percpu(cpu); in etm_handle_power_cpu_online() 447 etm_unlock_percpu(cpu); in etm_handle_power_cpu_suspend() 448 etm_os_lock_percpu(cpu); in etm_handle_power_cpu_suspend() 450 etm_save_context_percpu(cpu); in etm_handle_power_cpu_suspend() [all …]
|
| /hyp/core/power/src/ |
| A D | power.c | 55 for (cpu_index_t cpu = 0U; cpu < PLATFORM_MAX_CORES; cpu++) { in power_handle_boot_cold_init() local 70 (cpu == boot_cpu) ? 1U : 0U; in power_handle_boot_cold_init() 186 if (!platform_cpu_exists(cpu)) { in power_try_cpu_on() 199 ret = platform_cpu_on(cpu); in power_try_cpu_on() 235 power_vote_cpu_on(cpu_index_t cpu) in power_vote_cpu_on() argument 239 assert(cpulocal_index_valid(cpu)); in power_vote_cpu_on() 275 ipi_one(IPI_REASON_IDLE, cpu); in power_vote_cpu_off() 373 for (cpu_index_t cpu = 0U; cpu < PLATFORM_MAX_CORES; cpu++) { in power_handle_boot_hypervisor_handover() local 392 for (cpu_index_t cpu = 0U; cpulocal_index_valid(cpu); cpu++) { in power_handle_boot_hypervisor_start() local 393 if (cpu == boot_cpu) { in power_handle_boot_hypervisor_start() [all …]
|
| /hyp/platform/soc_qemu/src/ |
| A D | platform_psci.c | 65 platform_psci_deepest_cpu_state(cpu_index_t cpu) in platform_psci_deepest_cpu_state() argument 67 (void)cpu; in platform_psci_deepest_cpu_state() 75 platform_psci_deepest_cpu_level_stateid(cpu_index_t cpu) in platform_psci_deepest_cpu_level_stateid() argument 77 (void)cpu; in platform_psci_deepest_cpu_level_stateid() 86 cpu_index_t cpu, psci_mode_t psci_mode) in platform_psci_suspend_state_validation() argument 89 (void)cpu; in platform_psci_suspend_state_validation() 98 platform_psci_get_cluster_index(cpu_index_t cpu) in platform_psci_get_cluster_index() argument 100 (void)cpu; in platform_psci_get_cluster_index() 105 platform_psci_get_index_by_level(cpu_index_t cpu, uint32_t *start_idx, in platform_psci_get_index_by_level() argument 108 (void)cpu; in platform_psci_get_index_by_level()
|
| A D | irq.c | 55 platform_irq_enable_percpu(irq_t irq, cpu_index_t cpu) in platform_irq_enable_percpu() argument 57 gicv3_irq_enable_percpu(irq, cpu); in platform_irq_enable_percpu() 61 platform_irq_disable_percpu(irq_t irq, cpu_index_t cpu) in platform_irq_disable_percpu() argument 63 gicv3_irq_disable_percpu(irq, cpu); in platform_irq_disable_percpu() 95 platform_irq_deactivate_percpu(irq_t irq, cpu_index_t cpu) in platform_irq_deactivate_percpu() argument 97 gicv3_irq_deactivate_percpu(irq, cpu); in platform_irq_deactivate_percpu() 101 platform_irq_set_mode_percpu(irq_t irq, irq_trigger_t trigger, cpu_index_t cpu) in platform_irq_set_mode_percpu() argument 103 return gicv3_irq_set_trigger_percpu(irq, trigger, cpu); in platform_irq_set_mode_percpu()
|
| A D | cpu.c | 32 soc_qemu_handle_boot_cpu_cold_init(cpu_index_t cpu) in soc_qemu_handle_boot_cpu_cold_init() argument 34 CPULOCAL_BY_INDEX(cpu_started, cpu) = true; in soc_qemu_handle_boot_cpu_cold_init() 38 platform_cpu_exists(cpu_index_t cpu) in platform_cpu_exists() argument 40 assert(cpu < PLATFORM_MAX_CORES); in platform_cpu_exists() 42 return compiler_expected((util_bit(cpu) & PLATFORM_USABLE_CORES) != 0U); in platform_cpu_exists() 46 platform_cpu_on(cpu_index_t cpu) in platform_cpu_on() argument 48 MPIDR_EL1_t mpidr = platform_cpu_index_to_mpidr(cpu); in platform_cpu_on() 49 thread_t *thread = idle_thread_for(cpu); in platform_cpu_on() 51 CPULOCAL_BY_INDEX(cpu_started, cpu) in platform_cpu_on()
|
| /hyp/vm/vcpu_power/src/ |
| A D | vcpu_power.c | 26 cpu_index_t cpu = scheduler_get_affinity(vcpu); in vcpu_power_handle_vcpu_poweron() local 27 bool can_vote = cpulocal_index_valid(cpu); in vcpu_power_handle_vcpu_poweron() 37 ret = power_vote_cpu_on(cpu); in vcpu_power_handle_vcpu_poweron() 51 cpu_index_t cpu = scheduler_get_affinity(vcpu); in vcpu_power_handle_vcpu_poweroff() local 52 bool can_vote = cpulocal_index_valid(cpu); in vcpu_power_handle_vcpu_poweroff() 60 power_vote_cpu_off(cpu); in vcpu_power_handle_vcpu_poweroff() 78 bool can_vote = cpulocal_index_valid(cpu); in vcpu_power_handle_vcpu_stopped() 86 power_vote_cpu_off(cpu); in vcpu_power_handle_vcpu_stopped() 97 cpu_index_t cpu = scheduler_get_affinity(vcpu); in vcpu_power_handle_vcpu_run_enabled() local 98 bool can_vote = cpulocal_index_valid(cpu); in vcpu_power_handle_vcpu_run_enabled() [all …]
|
| /hyp/core/task_queue/src/ |
| A D | task_queue.c | 23 task_queue_handle_boot_cpu_cold_init(cpu_index_t cpu) in task_queue_handle_boot_cpu_cold_init() argument 25 spinlock_init(&CPULOCAL_BY_INDEX(task_queue_lock, cpu)); in task_queue_handle_boot_cpu_cold_init() 30 task_queue_entry_bf_set_cpu(&head->bf, cpu); in task_queue_handle_boot_cpu_cold_init() 53 cpu_index_t cpu = cpulocal_get_index(); in task_queue_schedule() local 59 task_queue_entry_bf_set_cpu(&entry->bf, cpu); in task_queue_schedule() 68 ipi_one_relaxed(IPI_REASON_TASK_QUEUE, cpu); in task_queue_schedule() 86 cpu_index_t cpu = task_queue_entry_bf_get_cpu(&entry->bf); in task_queue_cancel() local 88 if (cpu >= PLATFORM_MAX_CORES) { in task_queue_cancel() 93 spinlock_acquire(&CPULOCAL_BY_INDEX(task_queue_lock, cpu)); in task_queue_cancel() 101 spinlock_release(&CPULOCAL_BY_INDEX(task_queue_lock, cpu)); in task_queue_cancel() [all …]
|
| /hyp/core/scheduler_trivial/src/ |
| A D | scheduler_trivial.c | 45 thread->scheduler_affinity = cpu; in scheduler_trivial_handle_object_create_thread() 55 cpu_index_t cpu = thread->scheduler_affinity; in scheduler_trivial_handle_object_activate_thread() local 59 &CPULOCAL_BY_INDEX(active_thread, cpu); in scheduler_trivial_handle_object_activate_thread() 81 assert(cpulocal_index_valid(cpu)); in scheduler_trivial_handle_object_deactivate_thread() 85 &CPULOCAL_BY_INDEX(active_thread, cpu); in scheduler_trivial_handle_object_deactivate_thread() 170 cpu_index_t cpu = cpulocal_get_index(); in scheduler_trigger() local 242 cpu_index_t cpu = cpulocal_get_index(); in scheduler_unblock() local 243 if (cpu != thread->scheduler_affinity) { in scheduler_unblock() 282 if (!cpulocal_index_valid(cpu)) { in scheduler_is_running() 296 assert(thread == idle_thread_for(cpu)); in scheduler_is_running() [all …]
|
| /hyp/vm/psci/include/ |
| A D | psci_common.h | 34 psci_vpm_active_vcpus_get(cpu_index_t cpu, thread_t *vcpu) 38 psci_vpm_active_vcpus_put(cpu_index_t cpu, thread_t *vcpu) 42 psci_vpm_active_vcpus_is_zero(cpu_index_t cpu); 46 cpu_index_t cpu); 49 vcpus_state_set(vpm_group_suspend_state_t *vm_state, cpu_index_t cpu, 53 vcpus_state_clear(vpm_group_suspend_state_t *vm_state, cpu_index_t cpu);
|
| /hyp/platform/etm/include/ |
| A D | etm.h | 6 etm_set_reg(cpu_index_t cpu, size_t offset, register_t val, size_t access_size); 9 etm_get_reg(cpu_index_t cpu, size_t offset, register_t *val, 13 etm_save_context_percpu(cpu_index_t cpu); 16 etm_restore_context_percpu(cpu_index_t cpu);
|
| /hyp/platform/gicv3/include/ |
| A D | gicv3.h | 26 gicv3_irq_enable_percpu(irq_t irq, cpu_index_t cpu); 38 gicv3_irq_disable_percpu(irq_t irq, cpu_index_t cpu); 47 gicv3_irq_set_trigger_percpu(irq_t irq, irq_trigger_t trigger, cpu_index_t cpu); 67 gicv3_irq_deactivate_percpu(irq_t irq, cpu_index_t cpu); 75 gicv3_ipi_one(ipi_reason_t ipi, cpu_index_t cpu); 126 gicv3_lpi_inv_by_id(cpu_index_t cpu, irq_t lpi); 135 gicv3_lpi_inv_all(cpu_index_t cpu); 143 gicv3_lpi_inv_pending(cpu_index_t cpu); 221 gicv3_vpe_sync_deschedule(cpu_index_t cpu, bool maybe_scheduled)
|
| /hyp/core/rcu_bitmap/src/ |
| A D | rcu_bitmap.c | 72 ipi_one(IPI_REASON_RESCHEDULE, cpu); in rcu_bitmap_refresh_active() 73 active_cpus &= (uint32_t)(~util_bit(cpu)); in rcu_bitmap_refresh_active() 93 cpu_index_t cpu = cpulocal_get_index(); in rcu_enqueue() local 118 ipi_one_relaxed(IPI_REASON_RCU_NOTIFY, cpu); in rcu_enqueue() 128 cpu_index_t cpu = cpulocal_get_index(); in rcu_bitmap_activate_cpu() local 129 uint32_t cpu_bit = (uint32_t)util_bit(cpu); in rcu_bitmap_activate_cpu() 194 cpu_index_t cpu = cpulocal_get_index(); in rcu_bitmap_deactivate_cpu() local 340 for (cpu_index_t cpu = 0U; cpu < PLATFORM_MAX_CORES; cpu++) { in rcu_bitmap_quiesce() local 341 if (cpu == this_cpu) { in rcu_bitmap_quiesce() 347 ipi_one(IPI_REASON_RCU_NOTIFY, cpu); in rcu_bitmap_quiesce() [all …]
|
| /hyp/interfaces/platform/include/ |
| A D | platform_irq.h | 68 platform_irq_enable_percpu(irq_t irq, cpu_index_t cpu); 102 platform_irq_disable_percpu(irq_t irq, cpu_index_t cpu); 164 platform_irq_deactivate_percpu(irq_t irq, cpu_index_t cpu); 169 platform_irq_set_mode_percpu(irq_t irq, irq_trigger_t trigger, cpu_index_t cpu); 229 platform_irq_cpu_class(cpu_index_t cpu);
|
| A D | platform_psci.h | 11 cpu_index_t cpu, psci_mode_t psci_mode); 29 platform_psci_deepest_cpu_state(cpu_index_t cpu); 33 platform_psci_deepest_cpu_level_stateid(cpu_index_t cpu); 49 platform_psci_get_cluster_index(cpu_index_t cpu); 54 platform_psci_get_index_by_level(cpu_index_t cpu, uint32_t *start_idx, 112 platform_psci_deepest_cluster_level_stateid(cpu_index_t cpu);
|
| /hyp/vm/psci/src/ |
| A D | psci_pm_list.c | 22 for (cpu_index_t cpu = 0U; cpu < PLATFORM_MAX_CORES; cpu++) { in psci_pm_list_init() local 23 list_init(&CPULOCAL_BY_INDEX(vcpu_pm_list, cpu)); in psci_pm_list_init() 24 spinlock_init(&CPULOCAL_BY_INDEX(vcpu_pm_list_lock, cpu)); in psci_pm_list_init()
|
| /hyp/vm/vic_base/src/ |
| A D | forward_private.c | 51 cpu_index_t cpu; in vic_bind_private_hwirq_helper() local 61 cpu = vcpu->scheduler_affinity; in vic_bind_private_hwirq_helper() 64 assert(cpulocal_index_valid(cpu)); in vic_bind_private_hwirq_helper() 74 cpu); in vic_bind_private_hwirq_helper() 117 cpu_index_t cpu = vcpu->scheduler_affinity; in vic_sync_private_hwirq_helper() local 120 assert(cpulocal_index_valid(cpu)); in vic_sync_private_hwirq_helper() 125 fp->virq, irq_info->irq, cpu); in vic_sync_private_hwirq_helper() 139 assert(cpulocal_index_valid(cpu)); in vic_disable_private_hwirq_helper() 171 fp->irq_info[i].cpu = i; in vic_bind_hwirq_forward_private() 283 cpu_index_t cpu = cpulocal_get_index(); in vic_handle_irq_received_forward_private() local [all …]
|
| /hyp/core/ipi/src/ |
| A D | ipi.c | 110 assert(cpulocal_index_valid(cpu)); in ipi_one_and_check_wakeup_needed() 113 &CPULOCAL_BY_INDEX(ipi_pending, cpu).bits, ipi_bit, in ipi_one_and_check_wakeup_needed() 126 ipi_one(ipi_reason_t ipi, cpu_index_t cpu) in ipi_one() argument 128 if (ipi_one_and_check_wakeup_needed(ipi, cpu)) { in ipi_one() 130 platform_ipi_one(ipi, cpu); in ipi_one() 132 platform_ipi_one(cpu); in ipi_one() 138 ipi_one_relaxed(ipi_reason_t ipi, cpu_index_t cpu) in ipi_one_relaxed() argument 140 (void)ipi_one_and_check_wakeup_needed(ipi, cpu); in ipi_one_relaxed() 144 ipi_one_idle(ipi_reason_t ipi, cpu_index_t cpu) in ipi_one_idle() argument 147 ipi_one_relaxed(ipi, cpu); in ipi_one_idle() [all …]
|
| /hyp/interfaces/ipi/include/ |
| A D | ipi.h | 63 ipi_one(ipi_reason_t ipi, cpu_index_t cpu); 69 ipi_one_relaxed(ipi_reason_t ipi, cpu_index_t cpu); 78 ipi_one_idle(ipi_reason_t ipi, cpu_index_t cpu);
|
| /hyp/platform/ete/src/ |
| A D | ete.c | 94 ete_save_context_percpu(cpu_index_t cpu, bool may_poweroff) in ete_save_context_percpu() argument 100 ete_context_t *ctx = &CPULOCAL_BY_INDEX(ete_contexts, cpu); in ete_save_context_percpu() 113 CPULOCAL_BY_INDEX(ete_claim_tag, cpu) = in ete_save_context_percpu() 125 ete_restore_context_percpu(cpu_index_t cpu, bool was_poweroff) in ete_restore_context_percpu() argument 127 ete_context_t *ctx = &CPULOCAL_BY_INDEX(ete_contexts, cpu); in ete_restore_context_percpu() 139 CPULOCAL_BY_INDEX(ete_claim_tag, cpu), &vet_ordering); in ete_restore_context_percpu()
|
| /hyp/platform/trbe/include/ |
| A D | trbe.h | 6 trbe_save_context_percpu(cpu_index_t cpu); 9 trbe_restore_context_percpu(cpu_index_t cpu);
|
| /hyp/platform/ete/include/ |
| A D | ete.h | 6 ete_save_context_percpu(cpu_index_t cpu, bool may_poweroff); 9 ete_restore_context_percpu(cpu_index_t cpu, bool was_poweroff);
|
| /hyp/interfaces/power/include/ |
| A D | power.h | 20 power_vote_cpu_on(cpu_index_t cpu); 28 power_vote_cpu_off(cpu_index_t cpu);
|
| /hyp/core/boot/src/ |
| A D | boot.c | 42 boot_cold_init(cpu_index_t cpu) LOCK_IMPL in boot_cold_init() argument 56 trigger_boot_cold_init_event(cpu); in boot_cold_init() 57 trigger_boot_cpu_cold_init_event(cpu); in boot_cold_init() 112 boot_secondary_init(cpu_index_t cpu) LOCK_IMPL in boot_secondary_init() argument 118 trigger_boot_cpu_cold_init_event(cpu); in boot_secondary_init() 122 (register_t)cpu); in boot_secondary_init()
|
| /hyp/core/boot/include/ |
| A D | boot_init.h | 14 boot_cold_init(cpu_index_t cpu); 18 boot_secondary_init(cpu_index_t cpu);
|