From: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
To: qemu-devel@nongnu.org
Cc: eduardo@habkost.net, marcel.apfelbaum@gmail.com,
philmd@linaro.org, wangyanan55@huawei.com, pbonzini@redhat.com,
berrange@redhat.com, richard.henderson@linaro.org,
laurent@vivier.eu, palmer@dabbelt.com, alistair.francis@wdc.com,
bin.meng@windriver.com, liweiwei@iscas.ac.cn,
dbarboza@ventanamicro.com, zhiwei_liu@linux.alibaba.com,
qemu-riscv@nongnu.org
Subject: [RFC PATCH v2 0/6] Add API for list cpu extensions
Date: Mon, 28 Aug 2023 16:45:30 +0800 [thread overview]
Message-ID: <20230828084536.231-1-zhiwei_liu@linux.alibaba.com> (raw)
Some times we want to know what is the really mean of one cpu option.
For example, in RISC-V, we usually specify a cpu in this way:
-cpu rv64,v=on
If we don't look into the source code, we can't get the ISA extensions
of this -cpu command line.
In this patch set, we add one list_cpu_props API for common cores. It
will output the enabled ISA extensions.
In the near future, I will also list all possible user configurable
options and all possible extensions for this cpu.
In order to reuse the options parse code, I also add a QemuOptsList
for cpu.
After this patch, we can output the extensions for cpu,
"""
./qemu-system-riscv64 -cpu rv64,help
Enabled extensions:
rv64imafdch_zicbom_zicboz_zicsr_zifencei_zihintpause_zawrs_zfa_zba_zbb_zbc_zbs_sstc_svadu
To get all configuable options for this cpu, use -device rv64-riscv-cpu,help
"""
v1->v2:
1) Give a hint to use -device cpu,help for configualbe options on cpu
2) Support list_cpu_props for linux user mode
3) Add default to some properties to make -device cpu,help output better
Todo:
1) Fix Daniel comments on KVM and cpu option check
2) Add support for other archs
3) Move qdev help function from qdev-monitor to qdev-property
LIU Zhiwei (6):
cpu: Add new API cpu_type_by_name
target/riscv: Add API list_cpu_props
softmmu/vl: Add qemu_cpu_opts QemuOptsList
target/riscv: Add default value for misa property
target/riscv: Add defalut value for string property
linux-user: Move qemu_cpu_opts to cpu.c
cpu.c | 63 +++++++++++++++++++++++++++++-------
hw/core/qdev-prop-internal.h | 2 ++
hw/core/qdev-properties.c | 7 ++++
include/exec/cpu-common.h | 3 ++
include/hw/core/cpu.h | 11 +++++++
include/hw/qdev-properties.h | 8 +++++
linux-user/main.c | 10 ++++++
softmmu/vl.c | 11 +++++++
target/riscv/cpu.c | 30 +++++++++++++----
target/riscv/cpu.h | 2 ++
10 files changed, 128 insertions(+), 19 deletions(-)
--
2.17.1
next reply other threads:[~2023-08-28 8:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-28 8:45 LIU Zhiwei [this message]
2023-08-28 8:45 ` [RFC PATCH v2 1/6] cpu: Add new API cpu_type_by_name LIU Zhiwei
2023-08-28 8:45 ` [RFC PATCH v2 2/6] target/riscv: Add API list_cpu_props LIU Zhiwei
2023-08-28 8:45 ` [RFC PATCH v2 3/6] softmmu/vl: Add qemu_cpu_opts QemuOptsList LIU Zhiwei
2023-08-28 8:45 ` [RFC PATCH v2 4/6] target/riscv: Add default value for misa property LIU Zhiwei
2023-08-28 12:26 ` Daniel Henrique Barboza
2023-08-28 8:45 ` [RFC PATCH v2 5/6] target/riscv: Add defalut value for string property LIU Zhiwei
2023-08-28 12:31 ` Daniel Henrique Barboza
2023-08-28 8:45 ` [RFC PATCH v2 6/6] linux-user: Move qemu_cpu_opts to cpu.c LIU Zhiwei
2023-08-28 12:35 ` Daniel Henrique Barboza
2023-08-28 13:58 ` [RFC PATCH v2 0/6] Add API for list cpu extensions Igor Mammedov
2023-08-28 15:35 ` Daniel Henrique Barboza
2023-08-29 3:02 ` LIU Zhiwei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230828084536.231-1-zhiwei_liu@linux.alibaba.com \
--to=zhiwei_liu@linux.alibaba.com \
--cc=alistair.francis@wdc.com \
--cc=berrange@redhat.com \
--cc=bin.meng@windriver.com \
--cc=dbarboza@ventanamicro.com \
--cc=eduardo@habkost.net \
--cc=laurent@vivier.eu \
--cc=liweiwei@iscas.ac.cn \
--cc=marcel.apfelbaum@gmail.com \
--cc=palmer@dabbelt.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=wangyanan55@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).