Re: [RFC PATCH v3 16/19] qmp: add query-cpu-props-info command

Khushit Shah <[email protected]> Wed, 5 Aug 2026 07:32:28 +0000
Newsgroups gmane.comp.emulators.qemu
Message-ID <[email protected]>

> On 5 Aug 2026, at 12:27 PM, Markus Armbruster <[email protected]> wrote:
> 
> !-------------------------------------------------------------------|
>  CAUTION: External Email
> 
> |-------------------------------------------------------------------!
> 
> Khushit Shah <[email protected]> writes:
> 
>>> On 4 Aug 2026, at 12:15 PM, Markus Armbruster <[email protected]> wrote:
>>> 
>>> !-------------------------------------------------------------------|
>>> CAUTION: External Email
>>> 
>>> |-------------------------------------------------------------------!
>>> 
>>> Khushit Shah <[email protected]> writes:
>>> 
>>>> Introduce the 'query-cpu-props-info' QMP command. For CPU model
>>>> properties it reports the type (boolean or number) and the set of values
>>>> supported under the active accelerator and host.
>>>> 
>>>> For numbers the supported values are expressed as a list of inclusive
>>>> {min, max} ranges; for booleans as the list of allowed true/false
>>>> values.
>>>> 
>>>> The command and its return types (CpuPropertyType, CpuPropertyInfo and
>>>> friends) are defined in qapi/machine.json rather than an Arm-specific
>>>> schema, since the concept applies to other targets (e.g. x86, riscv)
>>>> too. Target that do not implement it return an error.
>>>> 
>>>> The Arm/KVM implementation spins up a scratch "host" vCPU object,
>>>> walks its QOM properties: SYSREG_ ID-register fields become 'number'
>>>> properties whose ranges come from arm_field_get_supported_values(),
>>>> and the advertised feature toggles become 'boolean' properties.
>>>> 
>>>> Signed-off-by: Khushit Shah <[email protected]>
>>> 
>>> This explains what the command does and how it's implemented.  It's
>>> silent on the most important aspect: why do we want the command?  What
>>> is its intended purpose?
>> 
>> Will add something like:
>> 
>> This helps the management stack to discover which values are supported
>> for a given CPU property. This is especially important for non-boolean
>> properties, where knowing that the host has value 'x' does not inherently
>> reveal the full range of valid values supported on the host.
> 
> Better.  Perhaps throw in an example if you can come up with a simple
> one.

Noted