On 1/22/25 10:11 AM, Martin Kletzander wrote:
On Wed, Jan 22, 2025 at 09:40:06AM -0300, Daniel Henrique Barboza
wrote:
>
>
> On 1/22/25 8:43 AM, Martin Kletzander wrote:
>> On Thu, Oct 24, 2024 at 11:08:19AM -0300, Daniel Henrique Barboza wrote:
>>> This feature is implemented as a string that can range from
"none",
>>> "aplic" and "aplic-imsic".
>>>
>>> If the feature isn't present in the domain XML the hypervisor default
>>> will be used. For QEMU, at least up to 9.2, the default is "none".
>>>
>>> Signed-off-by: Daniel Henrique Barboza <dbarboza(a)ventanamicro.com>
>>> ---
>>> docs/formatdomain.rst | 8 +++++++
>>> src/conf/domain_conf.c | 39 +++++++++++++++++++++++++++++++
>>> src/conf/domain_conf.h | 11 +++++++++
>>> src/conf/schemas/domaincommon.rng | 15 ++++++++++++
>>> src/libvirt_private.syms | 2 ++
>>> src/qemu/qemu_validate.c | 15 ++++++++++++
>>> 6 files changed, 90 insertions(+)
>>>
>>> diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
>>> index 3253a28e5a..780cea9aba 100644
>>> --- a/docs/formatdomain.rst
>>> +++ b/docs/formatdomain.rst
>>> @@ -2028,6 +2028,7 @@ Hypervisors may allow certain CPU / machine features to
be toggled on/off.
>>> <async-teardown enabled='yes'/>
>>> <ras state='on'/>
>>> <ps2 state='on'/>
>>> + <aia value='aplic-imsic'/>
>>> </features>
>>> ...
>>>
>>> @@ -2275,6 +2276,13 @@ are:
>>> disable the emulation of a PS/2 controller used by ``ps2`` bus input
devices.
>>> If the attribute is not defined, the hypervisor default will be used.
>>> :since:`Since 10.7.0` (QEMU only)
>>> +``aia``
>>> + Configure aia (Advanced Interrupt Architecture) for RISC-V
'virt'
>>> + guests. Possible values for the ``value`` attribute are ``aplic`` (one
>>> + emulated APLIC device present per socket), ``aplic-imsic`` (one APLIC
and
>>> + one IMSIC device present per core), or ``none`` (no support for AIA).
>>> + If the attribute is not defined, the hypervisor default
>>> + will be used. :since:`Since 10.8.0` (QEMU/KVM and RISC-V guests only)
>>>
>>
>> This needs to be changed to 11.1.0, sorry for missing this patch for so
>> long.
>>
>> Also, the hypervisor default will be used even the user specifies
>> aia='none' based on the code in patch 3/3. So either we need to add an
>> absent value for this attribute or change the wording.
>
> You're right. I forgot about the 'none' meaning here as 'this option
wasn't
> specified' when writing this doc.
>
> I'll add an "off" (or "disabled" - I'll see what libvirt
tends to use in these
> cases) value for it that can be translated to 'none' when building the QEMU
> command line.
>
You can keep the current options the way they are (especially if qemu
accepts "none") and just add "default" which will not be documented.
That's even better. In fact it seems like libvirt already does that with
other features as well.
I'll send a v2 shortly. Thanks,
Daniel
>
> Thanks,
>
> Daniel
>
>
>>
>> Other than that these patches are all fine and good to go, the only
>> thing above needs to be figured out.
>