mbox series

[0/2] riscv: add extension properties for all cpus

Message ID 20230926183109.165878-1-dbarboza@ventanamicro.com
Headers show
Series riscv: add extension properties for all cpus | expand

Message

Daniel Henrique Barboza Sept. 26, 2023, 6:31 p.m. UTC
Hi,

At this moment we do not expose extension properties for vendor CPUs
because that would allow users to enable extensions in them. But that
comes at a cost: if we were to add an API that shows all CPU properties,
e.g. qmp-query-cpu-model-expansion, we won't be able to show the
extension state of vendor CPUs.

We're in a good spot to revisit this decision. We have the required
abstractions in place to be able to expose user properties for vendor
CPUs and, at the same time, forbid users to enable extensions for those
CPUs. As a bonus, we'll allow users to be able to disable extensions for
vendor CPUs, which can be useful for testing/debugging.

Patches based on Alistair's riscv-to-apply.next.

Daniel Henrique Barboza (2):
  target/riscv: add riscv_cpu_get_name()
  target/riscv/tcg-cpu.c: add extension properties for all cpus

 target/riscv/cpu.c         | 11 ++++++
 target/riscv/cpu.h         |  1 +
 target/riscv/tcg/tcg-cpu.c | 68 +++++++++++++++++++++++++++++---------
 3 files changed, 65 insertions(+), 15 deletions(-)

Comments

Alistair Francis Sept. 29, 2023, 5:29 a.m. UTC | #1
On Wed, Sep 27, 2023 at 4:32 AM Daniel Henrique Barboza
<dbarboza@ventanamicro.com> wrote:
>
> Hi,
>
> At this moment we do not expose extension properties for vendor CPUs
> because that would allow users to enable extensions in them. But that
> comes at a cost: if we were to add an API that shows all CPU properties,
> e.g. qmp-query-cpu-model-expansion, we won't be able to show the
> extension state of vendor CPUs.
>
> We're in a good spot to revisit this decision. We have the required
> abstractions in place to be able to expose user properties for vendor
> CPUs and, at the same time, forbid users to enable extensions for those
> CPUs. As a bonus, we'll allow users to be able to disable extensions for
> vendor CPUs, which can be useful for testing/debugging.
>
> Patches based on Alistair's riscv-to-apply.next.
>
> Daniel Henrique Barboza (2):
>   target/riscv: add riscv_cpu_get_name()
>   target/riscv/tcg-cpu.c: add extension properties for all cpus

Thanks!

Applied to riscv-to-apply.next

Alistair

>
>  target/riscv/cpu.c         | 11 ++++++
>  target/riscv/cpu.h         |  1 +
>  target/riscv/tcg/tcg-cpu.c | 68 +++++++++++++++++++++++++++++---------
>  3 files changed, 65 insertions(+), 15 deletions(-)
>
> --
> 2.41.0
>
>