qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Christoffer Dall <christoffer.dall@linaro.org>
To: Laszlo Ersek <lersek@redhat.com>
Cc: peter.maydell@linaro.org, Andrew Jones <drjones@redhat.com>,
	ard.biesheuvel@linaro.org, marc.zyngier@arm.com,
	catalin.marinas@arm.com, qemu-devel@nongnu.org, agraf@suse.de,
	pbonzini@redhat.com, j.fanguede@virtualopensystems.com,
	kvmarm@lists.cs.columbia.edu, m.smarduch@samsung.com
Subject: Re: [Qemu-devel] [RFC/RFT PATCH v2 0/3] KVM: Introduce KVM_MEM_UNCACHED
Date: Thu, 14 May 2015 13:29:10 +0200	[thread overview]
Message-ID: <20150514112910.GR32765@cbox> (raw)
In-Reply-To: <5554826E.1040706@redhat.com>

On Thu, May 14, 2015 at 01:09:34PM +0200, Laszlo Ersek wrote:
> On 05/14/15 12:30, Christoffer Dall wrote:
> > On Wed, May 13, 2015 at 01:31:51PM +0200, Andrew Jones wrote:
> >> Introduce a new memory region flag, KVM_MEM_UNCACHED, which is
> >> needed by ARM. This flag informs KVM that the given memory region
> >> is typically mapped by the guest as non-cacheable. KVM for ARM
> >> then ensures that that memory is indeed mapped non-cacheable by
> >> the guest, and also remaps that region as non-cacheable for
> >> userspace, allowing them both to maintain a coherent view.
> >>
> >> Changes since v1:
> >>  1) don't pin pages [Paolo]
> >>  2) ensure the guest maps the memory non-cacheable [me]
> >>  3) clean up memslot flag documentation [Christoffer]
> >> changes 1 and 2 effectively redesigned/rewrote v1. Find v1 here
> >> http://www.spinics.net/lists/kvm-arm/msg14022.html
> >>
> >> The QEMU series for v1 hasn't really changed. Only the linux
> >> header hack needed to bump KVM_CAP_UNCACHED_MEM from 107 to
> >> 116.  Find the series here
> >> http://www.spinics.net/lists/kvm-arm/msg14026.html
> >>
> >> Testing:
> >> This series still needs lots of testing, but I thought I'd
> >> kick it to the list early, as there's been recent interest
> >> in solving this problem, and I'd like to get test results
> >> and opinions on this approach from others sooner than later.
> >> I've tested with AAVMF (UEFI for AArch64 mach-virt guests).
> >> AAVMF has a kludge in it to avoid the coherency problem.
> > 
> > How does the 'kludge' work?
> 
> https://github.com/tianocore/edk2/commit/f9a8be42
> 
> (It's probably worth looking at the documentation in the first hunk too,
> under the commit message.)
> 
Why is this a hack/unintuitive?  Is the semantics of the QEMU PCI bus
not simply that MMIO regions are coherent?

-Christoffer

  reply	other threads:[~2015-05-14 11:29 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-13 11:31 [Qemu-devel] [RFC/RFT PATCH v2 0/3] KVM: Introduce KVM_MEM_UNCACHED Andrew Jones
2015-05-13 11:31 ` [Qemu-devel] [RFC/RFT PATCH v2 1/3] arm/arm64: pageattr: add set_memory_nc Andrew Jones
2015-05-14 11:05   ` Christoffer Dall
2015-05-14 13:46     ` Andrew Jones
2015-05-15 14:51       ` Christoffer Dall
2015-05-18 15:53       ` Catalin Marinas
2015-05-19 10:03         ` Andrew Jones
2015-05-19 11:18           ` Catalin Marinas
2015-05-19 11:38             ` Andrew Jones
2015-05-20 10:01             ` Christoffer Dall
2015-05-20 11:24               ` Catalin Marinas
2015-05-23  1:08         ` Mario Smarduch
2015-05-25 17:11           ` Andrew Jones
2015-05-27  1:08             ` Mario Smarduch
2015-05-13 11:31 ` [Qemu-devel] [RFC/RFT PATCH v2 2/3] KVM: promote KVM_MEMSLOT_INCOHERENT to uapi Andrew Jones
2015-05-14 10:12   ` Paolo Bonzini
2015-05-14 10:34   ` Christoffer Dall
2015-05-13 11:31 ` [Qemu-devel] [RFC/RFT PATCH v2 3/3] arm/arm64: KVM: implement 'uncached' mem coherency Andrew Jones
2015-05-14 10:55   ` Christoffer Dall
2015-05-14 13:32     ` Andrew Jones
2015-05-15 15:02       ` Christoffer Dall
2015-05-15 17:04         ` Andrew Jones
2015-05-15 20:16           ` Jérémy Fanguède
2015-05-21  2:29           ` Mario Smarduch
2015-05-21 16:50             ` Andrew Jones
2015-05-14 10:30 ` [Qemu-devel] [RFC/RFT PATCH v2 0/3] KVM: Introduce KVM_MEM_UNCACHED Christoffer Dall
2015-05-14 11:09   ` Laszlo Ersek
2015-05-14 11:29     ` Christoffer Dall [this message]
2015-05-14 11:31       ` Paolo Bonzini
2015-05-14 11:36         ` Christoffer Dall
2015-05-14 11:38           ` Paolo Bonzini
2015-05-14 12:00             ` Christoffer Dall
2015-05-14 12:08               ` Paolo Bonzini
2015-05-14 12:24                 ` Christoffer Dall
2015-05-14 12:28                   ` Paolo Bonzini
2015-05-14 12:34                     ` Christoffer Dall
2015-05-14 13:01                       ` Laszlo Ersek
2015-05-14 12:38                     ` Peter Maydell
2015-05-14 13:00                       ` Andrew Jones
2015-05-14 13:32                         ` Laszlo Ersek
2015-05-14 13:48                           ` Michael S. Tsirkin
2015-05-14 14:19                             ` Laszlo Ersek
2015-05-14 14:41                               ` Michael S. Tsirkin
2015-05-15  9:00                                 ` Ard Biesheuvel
2015-05-14 10:31 ` Andrew Jones
2015-05-14 10:37   ` Peter Maydell
2015-05-14 13:03     ` Andrew Jones
2015-05-14 13:11       ` Peter Maydell
2015-05-14 13:33         ` Laszlo Ersek
2015-05-14 13:36         ` Andrew Jones
2015-05-15 15:09           ` Christoffer Dall

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=20150514112910.GR32765@cbox \
    --to=christoffer.dall@linaro.org \
    --cc=agraf@suse.de \
    --cc=ard.biesheuvel@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=drjones@redhat.com \
    --cc=j.fanguede@virtualopensystems.com \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=lersek@redhat.com \
    --cc=m.smarduch@samsung.com \
    --cc=marc.zyngier@arm.com \
    --cc=pbonzini@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).