cpu-common.c: export cpu_get_free_index to be reused later
This helper provides an easy way to identify the next available free cpu index which can be used for vcpu creation. Until now, this is being called at a very later stage and there is a need to be able to call it earlier (for now, with ppc64) hence the need to export. Suggested-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
This commit is contained in:
parent
c6a3d7bc9e
commit
18530e7c57
@ -57,14 +57,12 @@ void cpu_list_unlock(void)
|
||||
qemu_mutex_unlock(&qemu_cpu_list_lock);
|
||||
}
|
||||
|
||||
static bool cpu_index_auto_assigned;
|
||||
|
||||
static int cpu_get_free_index(void)
|
||||
int cpu_get_free_index(void)
|
||||
{
|
||||
CPUState *some_cpu;
|
||||
int max_cpu_index = 0;
|
||||
|
||||
cpu_index_auto_assigned = true;
|
||||
CPU_FOREACH(some_cpu) {
|
||||
if (some_cpu->cpu_index >= max_cpu_index) {
|
||||
max_cpu_index = some_cpu->cpu_index + 1;
|
||||
@ -83,8 +81,11 @@ unsigned int cpu_list_generation_id_get(void)
|
||||
|
||||
void cpu_list_add(CPUState *cpu)
|
||||
{
|
||||
static bool cpu_index_auto_assigned;
|
||||
|
||||
QEMU_LOCK_GUARD(&qemu_cpu_list_lock);
|
||||
if (cpu->cpu_index == UNASSIGNED_CPU_INDEX) {
|
||||
cpu_index_auto_assigned = true;
|
||||
cpu->cpu_index = cpu_get_free_index();
|
||||
assert(cpu->cpu_index != UNASSIGNED_CPU_INDEX);
|
||||
} else {
|
||||
|
@ -35,6 +35,8 @@ void cpu_list_lock(void);
|
||||
void cpu_list_unlock(void);
|
||||
unsigned int cpu_list_generation_id_get(void);
|
||||
|
||||
int cpu_get_free_index(void);
|
||||
|
||||
void tcg_iommu_init_notifier_list(CPUState *cpu);
|
||||
void tcg_iommu_free_notifier_list(CPUState *cpu);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user