On 2/5/26 10:58 PM, Markus Armbruster wrote:
Richard Henderson <[email protected]> writes:

On 2/5/26 19:52, Markus Armbruster wrote:
I assume the qapi string is the one that should take precedence; everything 
else appears to be merely qemu source level strings.  Marcus, can you confirm?

What exactly would you like me to confirm?

I *guess* it's about the messy part of the patch you posted upthread.
There, you have to normalize TARGET_ARCH value 'openrisc' to 'or1k'.

Yes.  I wanted you to confirm that changing the string in qapi is a 
non-starter, therefore
'or1k' is the string we should standardize on.

Yes, changing enum value @or1k is problematic.

Enum SysEmuTarget is visible in QMP: query-target return member @arch,
query-cpus-fast return member @target.  These are stable interfaces.

I can see two ways to change the enum value to @openrisc:

1. We create a new qemu-system-openrisc, identical to qemu-system-or1k
    except for the target name.  We deprecate qemu-system-or1k and
    SysEmuTarget member @or1k, and remove them after the grace period.

    I doubt it's worth the bother.

2. We cheat: we rename with the excuse that the target is bottom support
    tier, and our compatibility promise doesn't apply there.

    I don't think that's a good idea.  If we want to qualify our
    compatibility promise with tiers, we better define the tiers and what
    they mean for the promise *first*.  Related:

     From: Daniel P. BerrangĂ© <[email protected]>
     Subject: [PATCH] docs/about: propose OS platform/arch support tiers
     Date: Thu, 15 Jan 2026 18:01:23 +0000
     Message-ID: <[email protected]>
     
https://lore.kernel.org/qemu-devel/[email protected]/

I figure this is about adding 'hexagon' to SysEmuTarget even though it's
not actually a system emulator target now.

The fact that adding it there helps indicates SysEmuTarget has leaked
into user emulators, and its name has become misleading.  Is this true?

Yes.  The target_info structure is used for both user and system, and one of 
these fields
is the SysEmuTarget entry.

Then SysEmuTarget has become misleading.

We *can* fix that: QAPI type names are not part of the external
interface by design.


Do you mean it could be renamed to EmuTarget without any consequence?

It seemed to me that everything exported from the json files could
potentially be consumed by another entity (libvirt for instance).

Regards,
Pierrick

Reply via email to