OSDN Git Service

RISC-V: Add logical CPU indexing for RISC-V
authorAtish Patra <atish.patra@wdc.com>
Tue, 2 Oct 2018 19:15:04 +0000 (12:15 -0700)
committerPalmer Dabbelt <palmer@sifive.com>
Tue, 23 Oct 2018 00:03:37 +0000 (17:03 -0700)
commit6825c7a80f1863b975a00042abe140ea24813af2
treee70a0f3aea2fbc7fbe69af60a864f998e1b69c55
parenta37d56fc401108f39dec9ba83ed923a453937a26
RISC-V: Add logical CPU indexing for RISC-V

Currently, both Linux CPU id and hart id are same.
This is not recommended as it will lead to discontinuous CPU
indexing in Linux. Moreover, kdump kernel will run from CPU0
which would be absent if we follow existing scheme.

Implement a logical mapping between Linux CPU id and hart
id to decouple these two. Always mark the boot processor as
CPU0 and all other CPUs get the logical CPU id based on their
booting order.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
arch/riscv/include/asm/smp.h
arch/riscv/kernel/setup.c
arch/riscv/kernel/smp.c