arch/arm/mach-versatile/hotplug.c
Source file repositories/reference/linux-study-clean/arch/arm/mach-versatile/hotplug.c
File Facts
- System
- Linux kernel
- Corpus path
arch/arm/mach-versatile/hotplug.c- Extension
.c- Size
- 2548 bytes
- Lines
- 103
- Domain
- Architecture Layer
- Bucket
- arch/arm
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
Dependency Surface
linux/kernel.hlinux/errno.hlinux/smp.hasm/smp_plat.hasm/cp15.hplatsmp.h
Detected Declarations
function Copyrightfunction versatile_immitation_leave_lowpowerfunction versatile_immitation_do_lowpowerfunction versatile_immitation_cpu_die
Annotated Snippet
if (versatile_cpu_release == cpu_logical_map(cpu)) {
/*
* OK, proper wakeup, we're done
*/
break;
}
/*
* Getting here, means that we have come out of WFI without
* having been woken up - this shouldn't happen
*
* Just note it happening - when we're woken, we can report
* its occurrence.
*/
(*spurious)++;
}
}
/*
* platform-specific code to shutdown a CPU.
* This code supports immitation-style CPU hotplug for Versatile/Realview/
* Versatile Express platforms that are unable to do real CPU hotplug.
*/
void versatile_immitation_cpu_die(unsigned int cpu, unsigned int actrl_mask)
{
int spurious = 0;
versatile_immitation_enter_lowpower(actrl_mask);
versatile_immitation_do_lowpower(cpu, &spurious);
versatile_immitation_leave_lowpower(actrl_mask);
if (spurious)
pr_warn("CPU%u: %u spurious wakeup calls\n", cpu, spurious);
}
Annotation
- Immediate include surface: `linux/kernel.h`, `linux/errno.h`, `linux/smp.h`, `asm/smp_plat.h`, `asm/cp15.h`, `platsmp.h`.
- Detected declarations: `function Copyright`, `function versatile_immitation_leave_lowpower`, `function versatile_immitation_do_lowpower`, `function versatile_immitation_cpu_die`.
- Atlas domain: Architecture Layer / arch/arm.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.