Re: [PATCH 00/12] single-binary: link ARM and RISC-V into qemu-system

Daniel P. Berrangé <[email protected]>
Newsgroups org.nongnu.qemu-riscv,org.nongnu.qemu-arm,org.nongnu.qemu-devel
Message-ID <[email protected]>
On Wed, Aug 26, 2026 at 02:40:46PM +0100, Mark Cave-Ayland wrote:
> On 26/08/2026 13:32, Daniel P. Berrangé wrote:
> 
> > On Sun, Aug 23, 2026 at 11:07:18PM +0800, Yonggang Luo wrote:
> > 
> > snip,
> > 
> > ..to comment just on the end result for now..
> > 
> > Specifically
> > 
> >   * -nodefaults should become the default
> >   * All CLI args should be processed in order from
> >     the command line, so we eliminate the nonsense
> >     where we process some -object, then -chardev,
> >     then more -object through hand crafted deps
> > 
> >   * No default machine type
> 
> I would even go as far as to suggest that we should make modules mandatory
> for qemu-system, so that devices can be loaded upon demand during machine
> construction to help keep the size down.

I think it is worth considering whether modules could be mandatory
unconditionally for everything. We don't need to block on this
decision though.

> I'll leave whether that is through dependency tracking or via an explicit
> load directive for someone else to decide :)
> >   * Drop all legacy syntax so we only have a single
> >     QAPI based way of configuring.
> >     eg drop -hda, -hdb, -cdrom, -drive, etc
> >        only keeping -blockdev
> >     eg drop -mon, -monitor, -qmp, etc only
> >        keeping -object
> 
> The only problem with this is that I often get a lot of complaints that QEMU
> command lines are complicated from retro folks who just want to run their
> favourite old games. Why would they want to come up with a long-winded
> -drive command line when they can just use -hda instead?

-blockdev isn't as hard as it appears - we make it harder than it ought
to be by not documenting it well and carrying on using -hda/-drive in
examples so users have little good guidance. Then when people go beyond
the needs that -hda can service, they have an worse experiance as a
result.

Having many different ways to do the same thing and not getting rid of
enough outdated/obsoleted stuff is what has always created confusion
for QEMU.

Also why it is -hda when it is created a SCSI disk (sda), or a VirtIO
disk (xda) or a SSD (mmcblk0), or the guest is calling it C:\ :-)

Yes, -hda is simple, but it is also nonsensical historical cruft.


All the various "convenience" args are also something that could be
provided by a higher level launcher script that translates to the
canonical syntax, even if they're not in qemu-system itself.

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.