diff options
| author | Daniel Henrique Barboza <dbarboza@ventanamicro.com> | 2023-12-18 09:53:10 -0300 |
|---|---|---|
| committer | Alistair Francis <alistair.francis@wdc.com> | 2024-01-10 18:47:47 +1000 |
| commit | 7fc37962192edfc64aea22130afc2ca8dd15928e (patch) | |
| tree | 21461fcc35526ae4b0e4e9fe86c01584aa1a0385 /docs/devel/secure-coding-practices.rst | |
| parent | ee557ad53125a0b35906d828d04de9bbd6e11cf8 (diff) | |
| download | focaccia-qemu-7fc37962192edfc64aea22130afc2ca8dd15928e.tar.gz focaccia-qemu-7fc37962192edfc64aea22130afc2ca8dd15928e.zip | |
target/riscv/tcg: do not use "!generic" CPU checks
Our current logic in get/setters of MISA and multi-letter extensions works because we have only 2 CPU types, generic and vendor, and by using "!generic" we're implying that we're talking about vendor CPUs. When adding a third CPU type this logic will break so let's handle it beforehand. In set_misa_ext_cfg() and set_multi_ext_cfg(), check for "vendor" cpu instead of "not generic". The "generic CPU" checks remaining are from riscv_cpu_add_misa_properties() and cpu_add_multi_ext_prop() before applying default values for the extensions. This leaves us with: - vendor CPUs will not allow extension enablement, all other CPUs will; - generic CPUs will inherit default values for extensions, all others won't. And now we can add a new, third CPU type, that will allow extensions to be enabled and will not inherit defaults, without changing the existing logic. Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20231218125334.37184-3-dbarboza@ventanamicro.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'docs/devel/secure-coding-practices.rst')
0 files changed, 0 insertions, 0 deletions