From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Cédric Le Goater" <clg@kaod.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Jamin Lin" <jamin_lin@aspeedtech.com>,
"Kane Chen" <kane_chen@aspeedtech.com>,
qemu-arm@nongnu.org, "Philippe Mathieu-Daudé" <philmd@mailo.com>
Subject: qemu-system-arm dies on introspection of ast2700-a1 and ast2700-a2
Date: Wed, 21 Oct 2026 13:52:19 +0200 [thread overview]
Message-ID: <87qzhjmft8.fsf@pond.sub.org> (raw)
Watch this:
$ qemu-system-arm -S -nodefaults -display none -M none -qmp stdio
{"QMP": {"version": {"qemu": {"micro": 50, "minor": 1, "major": 11}, "package": "v11.1.0-2545-g2d150b99ce"}, "capabilities": ["oob"]}}
{"execute": "qmp_capabilities", "arguments": {"enable": ["oob"]}}
{"return": {}}
{"execute": "qom-list-properties", "arguments": {"typename": "ast2700-a1"}}
qemu-system-arm: unknown type 'cortex-a35-arm-cpu'
[Exit 1 ]
Same for ast2700-a2.
I found the folllowing in their .instance_init() method
aspeed_soc_ast2700_init():
for (i = 0; i < sc->num_cpus; i++) {
if (qtest_enabled() && !target_aarch64()) {
/*
* Introspection qtest just want to create this object
* without realizing it. ARM_CPU_TYPE_NAME("cortex-a35")
* is not available on 32-bit binary: skip it since we
* won't even realize it.
*/
continue;
}
object_initialize_child(obj, "cpu[*]", &a->cpu[i],
aspeed_soc_cpu_type(sc->valid_cpu_types));
}
This seems to paper over the bug so make the tests pass. That's wrong.
.instance_init() must not fail and must not exit(), regardless of
context.
object_initialize_child() exit()s when the type doesn't exist, because
&error_fatal gets passed to in type_get_or_load_by_name() in
object_initialize_child().
The narrow fix is to make type "cortex-a35-arm-cpu" exist, or to make
the two bad types "ast2700-a1" and "ast2700-a2" not exist.
next reply other threads:[~2026-10-21 11:53 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-21 11:52 Markus Armbruster [this message]
2026-10-21 13:16 ` qemu-system-arm dies on introspection of ast2700-a1 and ast2700-a2 Philippe Mathieu-Daudé
2026-10-21 15:01 ` Alex Bennée
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87qzhjmft8.fsf@pond.sub.org \
--to=armbru@redhat.com \
--cc=clg@kaod.org \
--cc=jamin_lin@aspeedtech.com \
--cc=kane_chen@aspeedtech.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@mailo.com \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox