kernel: add support for getting percpu variables that belong to other CPUs
This commit is contained in:
23
kernel/cpu.c
23
kernel/cpu.c
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user