qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Avi Kivity <avi@cloudius-systems.com>,
	Christopher Covington <cov@codeaurora.org>,
	"Daniel P. Berrange" <berrange@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel <qemu-devel@nongnu.org>, KVM list <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] Announcing qboot, a minimal x86 firmware for QEMU
Date: Wed, 27 May 2015 13:00:56 +0200	[thread overview]
Message-ID: <5565A3E8.1010607@redhat.com> (raw)
In-Reply-To: <55659010.6010302@cloudius-systems.com>



On 27/05/2015 11:36, Avi Kivity wrote:
> 
> 
> On 05/27/2015 12:30 PM, Paolo Bonzini wrote:
>>
>> On 26/05/2015 23:25, Christopher Covington wrote:
>>> On 05/25/2015 08:53 AM, Paolo Bonzini wrote:
>>>> On 22/05/2015 13:12, Daniel P. Berrange wrote:
>>>>> In
>>>>> particular I don't see why we need to have a SATA controller and
>>>>> ISA/LPC
>>>>> bridge in every virt machine - root PCI bus only should be
>>>>> possible, as you
>>>>> can provide disks via virtio-blk or virtio-scsi and serial,
>>>>> parallel, mouse,
>>>>> floppy via PCI devices and/or by adding a USB bus in the cases
>>>>> where you
>>>>> really need one.
>>>> I think removing the ISA/LPC bridge is hard.  It includes the real-time
>>>> clock and fw_cfg, for example.
>>> Could VirtIO specified replacements make sense for these peripherals?
>> Not really.  virtio is too heavyweight and you'd be reinventing the
>> wheel unnecessarily.
>>
>> For example, ARM's "-M virt" uses a pl011 block for the RTC, and also
>> uses fw_cfg.  Another commonly used ISA device is the UART, for which
>> again -M virt uses a pl031.
>>
> 
> The RTC can be replaced by kvmclock, the keyboard by virtio-console. 
> Maybe we can provide an msr- or pci- based interface to fw_cfg.

The RTC is used for more than clock unfortunately.  S3 support uses it
for example, both to tell the firmware that it's an S3 resume and for
resuming when the alarm fires.

All in all, getting rid of ISA seems like chasing windmills.  If you
want to do that, fine, but then do not do that on a minimal firmware
like qboot or SeaBIOS.  For example, UEFI provides run-time services
that let you access some low-level devices like this, and that's part of
why the ARM virtual machine image specification mandates UEFI support.
But even then, the ARM virtual machine image specification lets you
choose between pl031 and a Xen pv console, and doesn't specify
virtio-console...

Paolo

Paolo

  reply	other threads:[~2015-05-27 11:01 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-21 13:51 [Qemu-devel] Announcing qboot, a minimal x86 firmware for QEMU Paolo Bonzini
2015-05-21 15:48 ` Avi Kivity
2015-05-21 16:21   ` Paolo Bonzini
2015-05-21 18:28     ` Avi Kivity
2015-05-21 17:04 ` Jan Kiszka
2015-05-22  2:53 ` Yong Wang
2015-05-26  8:47   ` Stefan Hajnoczi
2015-06-05 10:42     ` Stefan Hajnoczi
2015-05-22 11:01 ` Daniel P. Berrange
2015-05-22 11:04   ` Peter Maydell
2015-05-22 11:12     ` Daniel P. Berrange
2015-05-22 11:21       ` Peter Maydell
2015-05-22 11:33         ` Daniel P. Berrange
2015-05-22 11:34         ` Gerd Hoffmann
2015-05-22 11:42         ` Markus Armbruster
2015-05-25 12:53       ` Paolo Bonzini
2015-05-26 21:25         ` Christopher Covington
2015-05-27  9:30           ` Paolo Bonzini
2015-05-27  9:36             ` Avi Kivity
2015-05-27 11:00               ` Paolo Bonzini [this message]
2015-05-27 11:54             ` Peter Maydell
2015-05-27 12:05               ` Paolo Bonzini
2015-05-27 12:50             ` Christopher Covington
2015-05-27 12:59               ` Paolo Bonzini
2015-05-27 16:24             ` Dr. David Alan Gilbert
2015-05-22 14:06 ` Gerd Hoffmann
2015-05-22 23:23 ` Kevin O'Connor
2015-05-23  3:55   ` Kevin O'Connor
2015-05-25  6:21     ` Vasiliy Tolstov
2015-05-25 15:05       ` Kevin O'Connor
2015-05-25 12:52   ` Paolo Bonzini
2015-05-25 15:11     ` Kevin O'Connor

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=5565A3E8.1010607@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=avi@cloudius-systems.com \
    --cc=berrange@redhat.com \
    --cc=cov@codeaurora.org \
    --cc=kvm@vger.kernel.org \
    --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).