qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: Alexander Graf <agraf@suse.de>
Cc: qemu-devel@nongnu.org, Fabien Chouteau <chouteau@adacore.com>
Subject: Re: [Qemu-devel] [PATCH] Add e500 instructions dcblc, dcbtls and dcbtstl as no-op
Date: Thu, 30 Jun 2011 17:32:11 -0500	[thread overview]
Message-ID: <20110630173211.33924c99@schlenkerla.am.freescale.net> (raw)
In-Reply-To: <CA9C1085-059D-4BD1-9960-870CFC98B4BB@suse.de>

On Fri, 1 Jul 2011 00:28:19 +0200
Alexander Graf <agraf@suse.de> wrote:

> 
> On 01.07.2011, at 00:23, Scott Wood wrote:
> 
> > On Fri, 1 Jul 2011 00:18:22 +0200
> > Alexander Graf <agraf@suse.de> wrote:
> > 
> >> 
> >> On 01.07.2011, at 00:11, Scott Wood wrote:
> >> 
> >>> Almost, but what if we have write permission but not read?
> >> 
> >> How would you write back data from a cache line when you haven't read it earlier?
> > 
> > The CPU can read it.  The program can't.
> 
> Hrm. We can always just call the check manually and trigger the respective interrupt :).

Yep.  A little trickier, but doable.

> >>> but what about a race with DMA from the I/O thread?
> >> 
> >> That'd simply be broken, but I don't quite see how it wouldn't with real hardware either :).
> > 
> > Real hardware doesn't generate a load/store sequence that the program didn't
> > ask for -- where's the breakage?
> 
> Real hardware flushes whatever contents are in that cache line to RAM, no? So it would collide with the DMA just as much. Or am I missing something?

If the DMA happens after the cache line is fetched, it'll be flushed,
whether locked or not.  But that's different from losing some of what the
device wrote.

-Scott

  reply	other threads:[~2011-06-30 22:32 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-27 13:15 [Qemu-devel] [PATCH] Add e500 instructions dcblc, dcbtls and dcbtstl as no-op Fabien Chouteau
2011-06-27 16:28 ` Scott Wood
2011-06-28  8:17   ` Fabien Chouteau
2011-06-28 16:20     ` Scott Wood
2011-06-30  8:25       ` Fabien Chouteau
2011-06-30 16:17         ` Scott Wood
2011-06-30 21:34           ` Alexander Graf
2011-06-30 21:46             ` Scott Wood
2011-06-30 21:56               ` Alexander Graf
2011-06-30 22:11                 ` Scott Wood
2011-06-30 22:18                   ` Alexander Graf
2011-06-30 22:23                     ` Scott Wood
2011-06-30 22:28                       ` Alexander Graf
2011-06-30 22:32                         ` Scott Wood [this message]
2011-06-30 22:38                           ` Alexander Graf
2011-07-01 14:59                             ` Fabien Chouteau
2011-07-01 15:05                               ` Alexander Graf
2011-07-01 15:39                                 ` Fabien Chouteau
2011-07-01 16:00                                   ` Scott Wood
2011-07-01 16:21                                     ` Fabien Chouteau

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=20110630173211.33924c99@schlenkerla.am.freescale.net \
    --to=scottwood@freescale.com \
    --cc=agraf@suse.de \
    --cc=chouteau@adacore.com \
    --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).