qemu/qapi
Daniel Henrique Barboza c0177f911f target/riscv: add query-cpy-definitions support
This command is used by tooling like libvirt to retrieve a list of
supported CPUs. Each entry returns a CpuDefinitionInfo object that
contains more information about each CPU.

This initial support includes only the name of the CPU and its typename.
Here's what the command produces for the riscv64 target:

$ ./build/qemu-system-riscv64 -S -M virt -display none -qmp stdio
{"QMP": {"version": (...)}
{"execute": "qmp_capabilities", "arguments": {"enable": ["oob"]}}
{"return": {}}
{"execute": "query-cpu-definitions"}
{"return": [
{"name": "rv64", "typename": "rv64-riscv-cpu", "static": false, "deprecated": false},
{"name": "sifive-e51", "typename": "sifive-e51-riscv-cpu", "static": false, "deprecated": false},
{"name": "any", "typename": "any-riscv-cpu", "static": false, "deprecated": false},
{"name": "x-rv128", "typename": "x-rv128-riscv-cpu", "static": false, "deprecated": false},
{"name": "shakti-c", "typename": "shakti-c-riscv-cpu", "static": false, "deprecated": false},
{"name": "thead-c906", "typename": "thead-c906-riscv-cpu", "static": false, "deprecated": false},
{"name": "sifive-u54", "typename": "sifive-u54-riscv-cpu", "static": false, "deprecated": false}]
}

Next patch will introduce a way to tell whether a given CPU is static or
not.

Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20230411183511.189632-3-dbarboza@ventanamicro.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2023-05-05 10:49:50 +10:00
..
acpi.json qapi: fix example of ACPI_DEVICE_OST event 2022-03-31 12:35:59 +02:00
audio.json qapi, audio: Make introspection reflect build configuration more closely 2023-01-30 15:43:55 +01:00
authz.json
block-core.json qapi: Format since information the conventional way: (since X.Y) 2023-04-28 11:48:34 +02:00
block-export.json qapi: Fix bullet list markup in documentation 2023-04-28 11:48:34 +02:00
block.json qapi: Tidy up examples 2023-04-28 11:48:34 +02:00
char.json qapi: Tidy up examples 2023-04-28 11:48:34 +02:00
common.json qapi: Drop unnecessary empty lines in comments 2022-05-16 07:22:28 +02:00
compat.json qapi: Belatedly adjust limitations documentation 2022-02-28 11:39:35 +01:00
control.json qapi: Fix unintended definition lists in documentation 2023-04-28 11:48:34 +02:00
crypto.json qapi: crypto-akcipher: Introduce akcipher types to qapi 2022-05-26 11:41:42 +01:00
cryptodev.json qapi storage-daemon/qapi: Fix documentation section structure 2023-04-28 11:48:34 +02:00
cxl.json hw/mem/cxl_type3: Add CXL RAS Error Injection Support. 2023-03-07 12:39:00 -05:00
dump.json qapi: fix example of query-dump-guest-memory-capability command 2022-09-07 15:10:13 +02:00
error.json
introspect.json
job.json qapi storage-daemon/qapi: Fix documentation section structure 2023-04-28 11:48:34 +02:00
machine-target.json target/riscv: add query-cpy-definitions support 2023-05-05 10:49:50 +10:00
machine.json qapi: Fix misspelled section tags in doc comments 2023-04-28 11:48:34 +02:00
meson.build hw/mem/cxl_type3: Add CXL RAS Error Injection Support. 2023-03-07 12:39:00 -05:00
migration.json qapi: Fix misspelled section tags in doc comments 2023-04-28 11:48:34 +02:00
misc-target.json qapi, i386/sev: Change the reduced-phys-bits value from 5 to 1 2023-04-28 12:50:34 +02:00
misc.json qapi: Tidy up examples 2023-04-28 11:48:34 +02:00
net.json qapi: Replace ad hoc "since" documentation by member documentation 2023-04-28 11:48:34 +02:00
opts-visitor.c
pci.json
pragma.json qapi/pragma: Tidy up comments 2022-05-16 07:31:26 +02:00
qapi-clone-visitor.c
qapi-dealloc-visitor.c
qapi-forward-visitor.c qapi: remove needless include 2022-03-22 14:46:18 +04:00
qapi-schema.json qapi storage-daemon/qapi: Fix documentation section structure 2023-04-28 11:48:34 +02:00
qapi-type-helpers.c
qapi-util.c qapi: Fix stale reference to scripts/qapi.py in a comment 2022-02-28 11:39:35 +01:00
qapi-visit-core.c
qdev.json qapi: Tidy up examples 2023-04-28 11:48:34 +02:00
qmp-dispatch.c monitor: mark mixed functions that can suspend 2023-04-20 11:17:35 +02:00
qmp-event.c Replace qemu_gettimeofday() with g_get_real_time() 2022-04-06 10:50:37 +02:00
qmp-registry.c
qobject-input-visitor.c include: add qemu/keyval.h 2022-04-21 17:03:51 +04:00
qobject-output-visitor.c
qom.json qapi: Tidy up examples 2023-04-28 11:48:34 +02:00
rdma.json qapi: Fix argument documentation markup 2023-04-28 11:48:34 +02:00
replay.json qapi: Tidy up examples 2023-04-28 11:48:34 +02:00
rocker.json
run-state.json qmp: Deprecate 'singlestep' member of StatusInfo 2023-05-02 15:47:40 +01:00
sockets.json qapi: Stop using whitespace for alignment in comments 2022-05-16 07:26:25 +02:00
stats.json qapi: Format since information the conventional way: (since X.Y) 2023-04-28 11:48:34 +02:00
string-input-visitor.c
string-output-visitor.c qapi: remove needless include 2022-03-22 14:46:18 +04:00
tpm.json qapi: Format since information the conventional way: (since X.Y) 2023-04-28 11:48:34 +02:00
trace-events
trace.h
trace.json qapi: Fix bullet list markup in documentation 2023-04-28 11:48:34 +02:00
transaction.json qapi: deprecate drive-backup 2021-11-09 18:21:19 +01:00
ui.json qapi: Format since information the conventional way: (since X.Y) 2023-04-28 11:48:34 +02:00
virtio.json Fix several typos in documentation (found by codespell) 2022-11-11 09:39:25 +01:00
yank.json qapi: Fix bullet list markup in documentation 2023-04-28 11:48:34 +02:00