diff options
| author | Michael Clark | 2019-03-16 02:20:11 +0100 |
|---|---|---|
| committer | Palmer Dabbelt | 2019-03-19 13:14:38 +0100 |
| commit | 244df421333970e66bc48e48e7fb45fcb1017ea0 (patch) | |
| tree | 69930f5b39cf9968a3b78ed3ac0829a8fc8d7e4a | |
| parent | riscv: pmp: Log pmp access errors as guest errors (diff) | |
| download | qemu-244df421333970e66bc48e48e7fb45fcb1017ea0.tar.gz qemu-244df421333970e66bc48e48e7fb45fcb1017ea0.tar.xz qemu-244df421333970e66bc48e48e7fb45fcb1017ea0.zip | |
RISC-V: Replace __builtin_popcount with ctpop8 in PLIC
The mode variable only uses the lower 4-bits (M,H,S,U) so
replace the GCC specific __builtin_popcount with ctpop8.
Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Sagar Karandikar <sagark@eecs.berkeley.edu>
Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Cc: Alistair Francis <Alistair.Francis@wdc.com>
Signed-off-by: Michael Clark <mjc@sifive.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
| -rw-r--r-- | hw/riscv/sifive_plic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/riscv/sifive_plic.c b/hw/riscv/sifive_plic.c index d12ec3fc9a..b859f919a7 100644 --- a/hw/riscv/sifive_plic.c +++ b/hw/riscv/sifive_plic.c @@ -383,7 +383,7 @@ static void parse_hart_config(SiFivePLICState *plic) p = plic->hart_config; while ((c = *p++)) { if (c == ',') { - addrid += __builtin_popcount(modes); + addrid += ctpop8(modes); modes = 0; hartid++; } else { @@ -397,7 +397,7 @@ static void parse_hart_config(SiFivePLICState *plic) } } if (modes) { - addrid += __builtin_popcount(modes); + addrid += ctpop8(modes); } hartid++; |
