From: Chao Peng <chao.p.peng@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
gor Mammedov <imammedo@redhat.com>,
Xiao Guangrong <guangrong.xiao@linux.intel.com>,
Richard Henderson <rth@twiddle.net>,
Eduardo Habkost <ehabkost@redhat.com>,
Haozhong Zhang <haozhong.zhang@intel.com>,
anthony.xu@intel.com
Subject: Re: [Qemu-devel] [RFC 0/9] Introduce light weight PC platform pc-lite
Date: Mon, 20 Jun 2016 14:01:29 +0800 [thread overview]
Message-ID: <20160620060129.GE21465@pengc-linux.bj.intel.com> (raw)
In-Reply-To: <d65c65e4-01b5-43a4-bb90-2f9350d456e5@redhat.com>
On Fri, Jun 17, 2016 at 03:24:59PM +0200, Paolo Bonzini wrote:
>
>
> On 17/06/2016 10:14, Chao Peng wrote:
> > Basically:
> > - it removes old ISA devices and support only PCI devices;
>
> I think you need to keep at least the RTC, otherwise where does Linux
> get the time of day from?
PV clock will provide that.
>
> It doesn't support PCIe hotplug though, I think? (Because it doesn't
> support PCI bridges and PCIe hotplug doesn't work for root complex
> devices). So is it ACPI-based hotplug?
Yes, this is ACPI-based.
>
> Lack of 8250/16550 means lack of earlyprintk. I know the driver is slow
> though, so I understand that.
Understand, it might be a little bit hard for debugging, one solution
would be adding 8250/16550 in debug build?
>
> Anyway, I guess all the items above are acceptable.
>
> The ones that I think are "less acceptable" are just two. :)
>
> 1) I am a bit worried about introducing a custom northbridge and PM
> device. In principle you could remove most ISA devices (especially
> those that take long to initialize) and the 8259 while keeping Q35 and
> ICH9. This would make it easier to choose between having a firmware and
> direct guest kernel load.
>
> In general I'd model the lightweight devices around Q35 and ICH9, not
> PIIX. ICH9 in particular is good because it integrates the PM device
> and it has an ISA bridge for the RTC and perhaps an optional 8250. But
> it would be even better to use Q35 and ICH9, not model around them. :)
We actually have patches for Q35 + ICH9 and it does exactly the same
thing you described here. Adding a new one is just:
1). to keep both Q35 and 'lite' code clean, and
2). don't expose two different Q35 implementations to guest.
One example: we saw smram/pam in Q35 causes guest boot time decrease so
we want to strip them off, we change Q35 for our case (ifdef or
whatever) but this changes the way guest sees it and also may not be in
accord with Q35 spec.
I'm not strongly insist on this. Also reuse Q35 in QEMU can make code in
other place (like BIOS) be reused as well (if not cause problem).
>
> 2) this:
>
> > - it loads guest kernel directly, no BIOS, no bootloader, no realmode
> > code;
>
> ... which is related to Linux-only support. How much does this gain
> over a minimal firmware (either SeaBIOS with the fw_cfg DMA interface,
> or qboot with cbfs in parallel flash)?
We have tried Q35 version (as described above) with both SeaBIOS and qboot.
The 'perfect' time with optimized BIOS we have seen is ~15ms, with the
additional time in kernel real mode code, the total time overhead comparing
to current Linux-aware implementation is more than 40ms. This sounds still
a little too much for us.
One solution is to support both direct Linux booting and BIOS booting with a
little overhead (but with more flexibility).
>
>
> > - it supports KVM-host only at present;
>
> Do you know why?
Just because we have never tested that on other hypervisors (like Xen).
Thanks for comments and suggestions.
Chao
next prev parent reply other threads:[~2016-06-20 6:12 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-17 8:14 [Qemu-devel] [RFC 0/9] Introduce light weight PC platform pc-lite Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 1/9] acpi: introduce light weight ACPI PM emulation pm-lite Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 2/9] pci: introduce light weight PCIE Host emulation pci-lite Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 3/9] acpi: add support for pc-lite platform Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 4/9] acpi: expose data structurs and functions of BIOS linker loader Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 5/9] acpi: expose acpi_checksum() Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 6/9] acpi: patch guest ACPI for pc-lite Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 7/9] pc: skip setting CMOS data when RTC device is unavailable Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 8/9] pc: support direct loading protected/long mode kernel Chao Peng
2016-06-17 8:14 ` [Qemu-devel] [RFC 9/9] pc: introduce light weight PC board pc-lite Chao Peng
2016-06-17 13:24 ` [Qemu-devel] [RFC 0/9] Introduce light weight PC platform pc-lite Paolo Bonzini
2016-06-20 6:01 ` Chao Peng [this message]
2016-06-20 6:54 ` Paolo Bonzini
2016-06-20 12:31 ` Stefan Hajnoczi
2016-06-20 13:00 ` Paolo Bonzini
2016-06-21 1:23 ` Chao Peng
2016-06-21 16:44 ` Michael S. Tsirkin
2016-06-23 8:32 ` Chao Peng
2016-06-23 12:44 ` Paolo Bonzini
2016-06-24 6:39 ` Claudio Fontana
2016-06-24 6:41 ` Claudio Fontana
2016-06-24 6:53 ` Paolo Bonzini
2016-06-27 2:55 ` Claudio Fontana
2016-06-28 9:27 ` Chao Peng
2016-06-20 10:36 ` Dr. David Alan Gilbert
2016-06-19 3:51 ` Michael S. Tsirkin
2016-06-20 6:12 ` Chao Peng
2016-06-23 12:55 ` Daniel P. Berrange
2016-06-28 10:10 ` Chao Peng
2016-06-28 10:26 ` Daniel P. Berrange
2016-06-19 8:21 ` Claudio Fontana
2016-06-20 6:30 ` Chao Peng
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=20160620060129.GE21465@pengc-linux.bj.intel.com \
--to=chao.p.peng@linux.intel.com \
--cc=anthony.xu@intel.com \
--cc=ehabkost@redhat.com \
--cc=guangrong.xiao@linux.intel.com \
--cc=haozhong.zhang@intel.com \
--cc=imammedo@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.