From: Paul Mackerras <paulus@samba.org>
To: David Gibson <david@gibson.dropbear.id.au>
Cc: aik@ozlabs.ru, qemu-ppc@nongnu.org, agraf@suse.de,
mdroth@us.ibm.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC] pseries: Enable in-kernel H_LOGICAL_CI_{LOAD, STORE} implementations
Date: Wed, 4 Feb 2015 08:19:06 +1100 [thread overview]
Message-ID: <20150203211906.GA13992@iris.ozlabs.ibm.com> (raw)
In-Reply-To: <1422943851-25836-1-git-send-email-david@gibson.dropbear.id.au>
On Tue, Feb 03, 2015 at 05:10:51PM +1100, David Gibson wrote:
> qemu currently implements the hypercalls H_LOGICAL_CI_LOAD and
> H_LOGICAL_CI_STORE as PAPR extensions. These are used by the SLOF firmware
> for IO, because performing cache inhibited MMIO accesses with the MMU off
> (real mode) is very awkward on POWER.
>
> This approach breaks when SLOF needs to access IO devices implemented
> within KVM instead of in qemu. The simplest example would be virtio-blk
> using an iothread, because the iothread / dataplane mechanism relies on
> an in-kernel implementation of the virtio queue notification MMIO.
>
> To fix this, an in-kernel implementation of these hypercalls has been made,
> however, the hypercalls still need to be enabled from qemu. This performs
> the necessary calls to do so.
>
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
[snip]
> + ret1 = kvmppc_enable_hcall(kvm_state, H_LOGICAL_CI_LOAD);
> + if (ret1 != 0) {
> + fprintf(stderr, "Warning: error enabling H_LOGICAL_CI_LOAD in KVM:"
> + " %s\n", strerror(errno));
> + }
> +
> + ret2 = kvmppc_enable_hcall(kvm_state, H_LOGICAL_CI_STORE);
> + if (ret2 != 0) {
> + fprintf(stderr, "Warning: error enabling H_LOGICAL_CI_STORE in KVM:"
> + " %s\n", strerror(errno));
> + }
> +
> + if ((ret1 != 0) || (ret2 != 0)) {
> + fprintf(stderr, "Warning: Couldn't enable H_LOGICAL_CI_* in KVM, SLOF"
> + " may be unable to operate devices with in-kernel emulation\n");
> + }
You'll always get these warnings if you're running on an old (meaning
current upstream) kernel, which could be annoying. Is there any way
to tell whether you have configured any devices which need the
in-kernel MMIO emulation and only warn if you have?
Paul.
next prev parent reply other threads:[~2015-02-03 21:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-03 6:10 [Qemu-devel] [RFC] pseries: Enable in-kernel H_LOGICAL_CI_{LOAD, STORE} implementations David Gibson
2015-02-03 8:56 ` [Qemu-devel] [Qemu-ppc] " Nikunj A Dadhania
2015-02-03 21:19 ` Paul Mackerras [this message]
2015-02-04 1:32 ` [Qemu-devel] " David Gibson
2015-02-04 15:19 ` Alexander Graf
2015-02-05 0:48 ` David Gibson
2015-02-05 0:54 ` Alexander Graf
2015-02-05 2:55 ` David Gibson
2015-02-05 10:22 ` Alexander Graf
2015-02-05 11:30 ` David Gibson
2015-02-05 11:55 ` Alexander Graf
2015-02-06 2:54 ` David Gibson
2015-02-06 7:56 ` Alexander Graf
2015-02-09 0:37 ` David Gibson
2015-02-09 1:41 ` Alexander Graf
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=20150203211906.GA13992@iris.ozlabs.ibm.com \
--to=paulus@samba.org \
--cc=agraf@suse.de \
--cc=aik@ozlabs.ru \
--cc=david@gibson.dropbear.id.au \
--cc=mdroth@us.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@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).