parisc: Implement __cpu_die() and __cpu_disable() for CPU hotplugging
authorHelge Deller <deller@gmx.de>
Fri, 25 Mar 2022 13:31:08 +0000 (14:31 +0100)
committerHelge Deller <deller@gmx.de>
Tue, 29 Mar 2022 19:37:12 +0000 (21:37 +0200)
commit88b3aac6228baaac6a3bcc0808845083b9d9f08f
tree35090d471f95c2b811a24233c753c49241dc8af0
parentdb2b0d76cdc4e781d32bf26d0c649ca2fe608c4e
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>
arch/parisc/Kconfig
arch/parisc/include/asm/smp.h
arch/parisc/kernel/smp.c