diff options
author | Helge Deller <deller@gmx.de> | 2022-03-25 14:31:08 +0100 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2022-03-29 21:37:12 +0200 |
commit | 88b3aac6228baaac6a3bcc0808845083b9d9f08f (patch) | |
tree | 35090d471f95c2b811a24233c753c49241dc8af0 /arch/parisc/include/asm | |
parent | db2b0d76cdc4e781d32bf26d0c649ca2fe608c4e (diff) | |
download | linux-88b3aac6228baaac6a3bcc0808845083b9d9f08f.tar.bz2 |
parisc: Implement __cpu_die() and __cpu_disable() for CPU hotplugging
Add relevant code to __cpu_die() and __cpu_disable() to finally enable
the CPU hotplugging features. Reset the irq count values in smp_callin()
to zero before bringing up the CPU.
It seems that the firmware may need up to 8 seconds to fully stop a CPU
in which no other PDC calls are allowed to be made. Use a timeout
__cpu_die() to accommodate for this.
Use "chcpu -d 1" to bring CPU1 down, and "chcpu -e 1" to bring it up.
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'arch/parisc/include/asm')
-rw-r--r-- | arch/parisc/include/asm/smp.h | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/parisc/include/asm/smp.h b/arch/parisc/include/asm/smp.h index 2279ebe5e2da..94d1f21ce99a 100644 --- a/arch/parisc/include/asm/smp.h +++ b/arch/parisc/include/asm/smp.h @@ -44,12 +44,7 @@ static inline void smp_send_all_nop(void) { return; } #define NO_PROC_ID 0xFF /* No processor magic marker */ #define ANY_PROC_ID 0xFF /* Any processor magic marker */ -static inline int __cpu_disable (void) { - return 0; -} -static inline void __cpu_die (unsigned int cpu) { - while(1) - ; -} +int __cpu_disable(void); +void __cpu_die(unsigned int cpu); #endif /* __ASM_SMP_H */ |