On Sun, Apr 6, 2025 at 5:03 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> In preparation for adding a function to merge two RISCVCPUConfigs
> (pulling values from the parent if they are not overridden) annotate
> cpu_cfg_fields.h.inc with the default value of the fields.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> target/riscv/cpu_cfg.h | 2 +-
> target/riscv/cpu_cfg_fields.h.inc | 22 +++++++++++-----------
> 2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/target/riscv/cpu_cfg.h b/target/riscv/cpu_cfg.h
> index e9bf75730a6..aa28dc8d7e6 100644
> --- a/target/riscv/cpu_cfg.h
> +++ b/target/riscv/cpu_cfg.h
> @@ -23,7 +23,7 @@
>
> struct RISCVCPUConfig {
> #define BOOL_FIELD(x) bool x;
> -#define TYPED_FIELD(type, x) type x;
> +#define TYPED_FIELD(type, x, default) type x;
> #include "cpu_cfg_fields.h.inc"
> };
>
> diff --git a/target/riscv/cpu_cfg_fields.h.inc b/target/riscv/cpu_cfg_fields.h.inc
> index bbc68276737..ef58826b2bc 100644
> --- a/target/riscv/cpu_cfg_fields.h.inc
> +++ b/target/riscv/cpu_cfg_fields.h.inc
> @@ -2,7 +2,7 @@
> * Required definitions before including this file:
> *
> * #define BOOL_FIELD(x)
> - * #define TYPED_FIELD(type, x)
> + * #define TYPED_FIELD(type, x, default)
> */
>
> BOOL_FIELD(ext_zba)
> @@ -153,19 +153,19 @@ BOOL_FIELD(misa_w)
>
> BOOL_FIELD(short_isa_string)
>
> -TYPED_FIELD(uint32_t, mvendorid)
> -TYPED_FIELD(uint64_t, marchid)
> -TYPED_FIELD(uint64_t, mimpid)
> +TYPED_FIELD(uint32_t, mvendorid, 0)
> +TYPED_FIELD(uint64_t, marchid, 0)
> +TYPED_FIELD(uint64_t, mimpid, 0)
>
> -TYPED_FIELD(uint32_t, pmu_mask)
> -TYPED_FIELD(uint16_t, vlenb)
> -TYPED_FIELD(uint16_t, elen)
> -TYPED_FIELD(uint16_t, cbom_blocksize)
> -TYPED_FIELD(uint16_t, cbop_blocksize)
> -TYPED_FIELD(uint16_t, cboz_blocksize)
> +TYPED_FIELD(uint32_t, pmu_mask, 0)
> +TYPED_FIELD(uint16_t, vlenb, 0)
> +TYPED_FIELD(uint16_t, elen, 0)
> +TYPED_FIELD(uint16_t, cbom_blocksize, 0)
> +TYPED_FIELD(uint16_t, cbop_blocksize, 0)
> +TYPED_FIELD(uint16_t, cboz_blocksize, 0)
>
> #ifndef CONFIG_USER_ONLY
> -TYPED_FIELD(int8_t, max_satp_mode)
> +TYPED_FIELD(int8_t, max_satp_mode, -1)
> #endif
>
> #undef BOOL_FIELD
> --
> 2.49.0
>