From: Andrea Bolognani <abologna@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
Marcel Apfelbaum <marcel@redhat.com>,
Laszlo Ersek <lersek@redhat.com>,
QEMU Developers <qemu-devel@nongnu.org>,
Gerd Hoffmann <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v5 2/2] mach-virt: Provide sample configuration files
Date: Thu, 09 Feb 2017 14:27:45 +0100 [thread overview]
Message-ID: <1486646865.3641.41.camel@redhat.com> (raw)
In-Reply-To: <20170209122819.ajgatpsnxj7cdjq2@kamzik.brq.redhat.com>
On Thu, 2017-02-09 at 10:42 +0100, Andrew Jones wrote:
> > +[machine]
> > + type = "virt"
> > + accel = "kvm"
> > +
> > +[memory]
> > + size = "1024"
>
> So I'm not sure about providing this, at least not in this
> config file. I think we should expect the user to provide ram
> size explicitly, as this depends on what they want to do with
> the guest. Even accel is debatable, as many users may want to
> use tcg from their x86 machines.
>
> How about focusing this config on the PCIe topology and default
> devices? Additional config defaults like accel and ram could
> be added to an additional config, if we want.
Well, this is a sample configuration, not a one-size-fits-all
solution. It's okay for it to be opinionated.
The way I expect this file to be consumed is that people will
copy it over[1] to some location, tweak it to their liking by
adding and removing devices and altering settings such as
memory size, then use it to start a specific guest from that
moment on. When they need another guest, they can make another
copy of the sample and start over.
So the least parameters the user will have to specify outside
of the configuration file, the better. We actually moved *away*
from the idea of including multiple configuration files (one
for the "common" parts such as PCIe controllers, one for other
devices such as the video card as opposed to the serial
console) because it's much easier to have everything in one
place, for usability and for documentation purposes.
It's not a framework, just a decent starting point.
[...]
> > +[drive "aavmf-code"]
> > + file = "/usr/share/edk2/aarch64/QEMU_EFI.fd" # CHANGE ME
> > + format = "raw"
> > + if = "pflash"
> > + unit = "0"
> > + readonly = "on"
> > +
> > +[drive "aavmf-vars"]
> > + file = "guest_VARS.fd" # CHANGE ME
> > + format = "raw"
> > + if = "pflash"
> > + unit = "1"
>
> The fact these entries need 'CHANGE ME' comments make me think they
> should also be removed from this config and required explicitly,
> or provided by other configs. Perhaps we can create a config for
> each firmware path we know of? Or, is there any way for a user
> to override the file path from the command line? Does
>
> -readconfig config -drive id=aavmf-vars,file=new-path
>
> work? If so, then we can document how CHANGEME's can be easily
> changed without touching the file.
See above.
[...]
> > +# Display controller
> > +# =========================================================
> > +#
> > +# We use virtio-gpu because the legacy VGA framebuffer is
> > +# very troublesome on aarch64, and virtio-gpu is the only
>
> We use virtio-gpu because emulating a legacy VGA framebuffer
> is not possible on AArch64 KVM guests due to unavoidable
> stage1 / stage2 page table cache mode mismatches.
>
> Or just leave the troublesome comment...
I guess that depends a lot on how low-level we want them
be... Overall, I kept them fairly high-level, not least
because that's pretty much as far my knowledge goes.
In other words, your take on the description is certainly
100% accurate but also 100% flying way over my head ;)
[...]
> I agree with the comments of others that we should be using
> the PL011 instead. We should also set it up such that the
> monitor is multiplexed, so ^C won't terminate the guest and
> ^A will allow us to go to the monitor.
That sounds awesome, how do I actually make it work from
the configuration file though?
[1] Looks like these files are not being installed on the
system by 'make install'. I'd argue having them in
/usr/share/doc/qemu/examples would be nice for users.
--
Andrea Bolognani / Red Hat / Virtualization
next prev parent reply other threads:[~2017-02-09 13:27 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-08 17:35 [Qemu-devel] [PATCH v5 0/2] docs: Improve sample configuration files Andrea Bolognani
2017-02-08 17:35 ` [Qemu-devel] [PATCH v5 1/2] q35: " Andrea Bolognani
2017-02-08 17:35 ` [Qemu-devel] [PATCH v5 2/2] mach-virt: Provide " Andrea Bolognani
2017-02-08 18:11 ` Laszlo Ersek
2017-02-08 18:49 ` Andrea Bolognani
2017-02-08 19:34 ` Laszlo Ersek
2017-02-08 19:47 ` Andrea Bolognani
2017-02-09 9:49 ` Andrew Jones
2017-02-09 10:52 ` Andrea Bolognani
2017-02-08 18:32 ` Peter Maydell
2017-02-08 19:23 ` Laszlo Ersek
2017-02-08 19:40 ` Peter Maydell
2017-02-08 19:28 ` Andrea Bolognani
2017-02-08 19:36 ` Peter Maydell
2017-02-08 19:49 ` Laszlo Ersek
2017-02-09 13:53 ` Andrea Bolognani
2017-02-09 14:14 ` Andrew Jones
2017-02-08 19:36 ` Laszlo Ersek
2017-02-09 9:42 ` Andrew Jones
2017-02-09 9:57 ` Peter Maydell
2017-02-09 10:51 ` Andrea Bolognani
2017-02-09 12:28 ` Andrew Jones
2017-02-09 13:27 ` Andrea Bolognani [this message]
2017-02-09 14:08 ` Andrew Jones
2017-02-09 14:56 ` Andrea Bolognani
2017-02-09 15:26 ` Gerd Hoffmann
2017-02-09 15:10 ` Andrea Bolognani
2017-02-09 15:35 ` Andrew Jones
2017-02-09 16:11 ` Andrea Bolognani
2017-02-09 16:36 ` Andrew Jones
2017-02-09 17:06 ` Andrea Bolognani
2017-02-09 18:05 ` Andrew Jones
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=1486646865.3641.41.camel@redhat.com \
--to=abologna@redhat.com \
--cc=drjones@redhat.com \
--cc=kraxel@redhat.com \
--cc=lersek@redhat.com \
--cc=marcel@redhat.com \
--cc=peter.maydell@linaro.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;
as well as URLs for NNTP newsgroup(s).