qemu/target
Daniel Henrique Barboza 7f0bdfb5bf target/riscv/cpu.c: remove cfg setup from riscv_cpu_init()
We have 4 config settings being done in riscv_cpu_init(): ext_ifencei,
ext_icsr, mmu and pmp. This is also the constructor of the "riscv-cpu"
device, which happens to be the parent device of every RISC-V cpu.

The result is that these 4 configs are being set every time, and every
other CPU should always account for them. CPUs such as sifive_e need to
disable settings that aren't enabled simply because the parent class
happens to be enabling it.

Moving all configurations from the parent class to each CPU will
centralize the config of each CPU into its own init(), which is clearer
than having to account to whatever happens to be set in the parent
device. These settings are also being set in register_cpu_props() when
no 'misa_ext' is set, so for these CPUs we don't need changes. Named
CPUs will receive all cfgs that the parent were setting into their
init().

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Reviewed-by: Weiwei Li <liweiwei@iscas.ac.cn>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20230517135714.211809-11-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2023-06-13 17:04:44 +10:00
..
alpha accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
arm target/arm: Only include tcg/oversized-guest.h if CONFIG_TCG 2023-06-07 08:35:13 -07:00
avr accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
cris accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
hexagon target/*: Add missing includes of exec/translation-block.h 2023-06-05 12:04:29 -07:00
hppa accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
i386 hvf: add guest debugging handlers for Apple Silicon hosts 2023-06-06 10:19:30 +01:00
loongarch target/*: Add missing includes of exec/translation-block.h 2023-06-05 12:04:29 -07:00
m68k target/m68k/fpu_helper: Use FloatRelation enum to hold comparison result 2023-06-09 23:38:16 +03:00
microblaze accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
mips target/*: Add missing includes of exec/translation-block.h 2023-06-05 12:04:29 -07:00
nios2 accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
openrisc accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
ppc target/ppc: Implement gathering irq statistics 2023-06-10 10:19:24 -03:00
riscv target/riscv/cpu.c: remove cfg setup from riscv_cpu_init() 2023-06-13 17:04:44 +10:00
rx accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
s390x * Fix emulated LCCB, LOCFHR, MXDB and MXDBR s390x instructions 2023-06-06 07:07:37 -07:00
sh4 accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
sparc accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
tricore target/tricore: Fix wrong PSW for call insns 2023-06-07 18:20:48 +02:00
xtensa accel/tcg: Introduce translator_io_start 2023-06-05 12:04:29 -07:00
Kconfig hw/loongarch: Add support loongson3 virt machine type. 2022-06-06 18:09:03 +00:00
meson.build target/loongarch: Add target build suport 2022-06-06 18:09:03 +00:00