qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] object: add more commands to preconfig mode


From: Markus Armbruster
Subject: Re: [PATCH] object: add more commands to preconfig mode
Date: Tue, 08 Jun 2021 15:45:19 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

This has been committed already, but here goes anyway...

Paolo Bonzini <pbonzini@redhat.com> writes:

> Creating and destroying QOM objects does not require a fully constructed
> machine.  Allow running object-add and object-del before machine
> initialization has concluded.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Well, *some* QOM objects do require a fully constructed machine (or else
device_add should be allowd in preconfig).  object-add creates only
*user-creatable* QOM objects (the ones implementing
TYPE_USER_CREATABLE).

How can we be sure the user-creatable objects we have don't require a
fully constructed machine?

What stops future user-creatable objects from requiring one?  Would be
bad, because they'd work fine in casual testing, and explode when used
in the (somewhat exotic) preconfig state.

In case it helps, let me list the user-creatable QOM types.  QMP command

    {"execute": "qom-list-types", "arguments": {"implements": "qtest"}}

gets us the ones compiled into a specific system emulator.  My x86_64
coughs up

    "authz-list"
    "authz-list-file"
    "authz-pam"
    "authz-simple"
    "can-bus"
    "can-host-socketcan"
    "colo-compare"
    "cryptodev-backend"
    "cryptodev-backend-builtin"
    "cryptodev-vhost-user"
    "dbus-vmstate"
    "filter-buffer"
    "filter-dump"
    "filter-mirror"
    "filter-redirector"
    "filter-replay"
    "filter-rewriter"
    "input-barrier"
    "input-linux"
    "iothread"
    "memory-backend-file"
    "memory-backend-memfd"
    "memory-backend-ram"
    "pr-manager-helper"
    "qtest"
    "rng-builtin"
    "rng-egd"
    "rng-random"
    "secret"
    "secret_keyring"
    "sev-guest"
    "throttle-group"
    "tls-cipher-suites"
    "tls-creds-anon"
    "tls-creds-psk"
    "tls-creds-x509"
    "x-remote-object"

I could do this for all system emulators, but I prefer differently
boring; code inspection finds two more:

    "pef-guest"
    "s390-pv-guest"




reply via email to

[Prev in Thread] Current Thread [Next in Thread]