kernel: add support for getting percpu variables that belong to other CPUs

This commit is contained in:
2023-05-04 21:42:51 +01:00
parent 3f91c96050
commit bb524c1576
6 changed files with 49 additions and 4 deletions

View File

@@ -12,11 +12,34 @@ struct cpu_data *get_this_cpu(void)
return percpu_get(&cpu_data);
}
struct cpu_data *get_cpu(unsigned int id)
{
return percpu_get_from(id, &cpu_data);
}
void put_cpu(struct cpu_data *cpu)
{
percpu_put(cpu);
}
bool cpu_is_available(unsigned int cpu_id)
{
if (cpu_id >= CPU_MAX) {
return false;
}
return bitmap_check(cpu_available, cpu_id);
}
bool cpu_is_online(unsigned int cpu_id)
{
if (cpu_id >= CPU_MAX) {
return false;
}
return bitmap_check(cpu_online, cpu_id);
}
void cpu_set_available(unsigned int cpu_id)
{
if (cpu_id >= CPU_MAX) {