From: David Gibson <david@gibson.dropbear.id.au>
To: Greg Kurz <groug@kaod.org>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Cédric Le Goater" <clg@kaod.org>,
"QEMU Developers" <qemu-devel@nongnu.org>,
"Laurent Vivier" <lvivier@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] qtest: add read/write accessors with a specific endianness
Date: Fri, 7 Oct 2016 10:31:48 +1100 [thread overview]
Message-ID: <20161006233148.GC18490@umbus.fritz.box> (raw)
In-Reply-To: <20161006161142.1d56f98c@bahia>
[-- Attachment #1: Type: text/plain, Size: 2383 bytes --]
On Thu, Oct 06, 2016 at 04:11:42PM +0200, Greg Kurz wrote:
> On Thu, 6 Oct 2016 12:03:34 +0100
> Peter Maydell <peter.maydell@linaro.org> wrote:
>
> > On 6 October 2016 at 04:38, David Gibson <david@gibson.dropbear.id.au> wrote:
> > > On Wed, Oct 05, 2016 at 05:31:07AM -0700, Peter Maydell wrote:
> > >> On 4 October 2016 at 16:43, David Gibson <david@gibson.dropbear.id.au> wrote:
> > >> > On Tue, Oct 04, 2016 at 01:36:09PM +0100, Peter Maydell wrote:
> > >> >> The difficulty with this patch is that it's hard to tell whether
> > >> >> it's really required, or if this is just adding an extra layer
> > >> >> of byteswapping that should really be done in some other location
> > >> >
> > >> > Actually, it's neither. It's not essential for anything, but it
> > >> > *removes* an extra layer of byteswapping that really never should have
> > >> > been done in the first place.
> > >>
> > >> The patch is very clearly adding calls to swapping functions.
> > >> It looks like it's mostly convenience functions for not doing
> > >> those swaps explicitly in the test cases.
> > >
> > > It's adding 1 swap on top of the memread/memwrite path - that's the
> > > path which had no existing swaps (intended primarily for bag-o'-bytes
> > > block access AFAICT).
> >
> > Yeah, I hadn't noticed it was using the memread/memwrite path.
> > I disagree with using that code path for what ought to be
> > register read/writes (among other things, it's not clear to me
> > that it guarantees that a 4-byte access by the test code is
> > always a 4-byte access on the device, etc).
> >
>
> FWIW, Cedric had another proposal which apparently went unnoticed:
>
> <fc24ad74-da26-a713-9312-a2c2d07fb6a7@kaod.org>
>
> The idea is to add an optional endianness argument to the read*/write*
> commands in the qtest protocol:
> - libqtest then provides explicit _le and _be APIs
> - no extra byteswap is performed on the test program side: qtest
> actually handles that and does exactly 1 or 0 byteswap.
> - it does not use memread/memwrite
> - the current 'guest native' API where qtest tswaps is preserved
That would also be fine by me.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2016-10-07 0:13 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-04 12:17 [Qemu-devel] [PATCH] qtest: add read/write accessors with a specific endianness Cédric Le Goater
2016-10-04 12:36 ` Peter Maydell
2016-10-04 14:04 ` Laurent Vivier
2016-10-04 14:07 ` Cédric Le Goater
2016-10-04 17:15 ` Paolo Bonzini
2016-10-04 23:43 ` David Gibson
2016-10-05 5:59 ` Cédric Le Goater
2016-10-05 12:31 ` Peter Maydell
2016-10-05 13:49 ` Cédric Le Goater
2016-10-05 13:53 ` Peter Maydell
2016-10-05 14:00 ` Cédric Le Goater
2016-10-05 14:20 ` Peter Maydell
2016-10-05 17:17 ` Cédric Le Goater
2016-10-05 17:32 ` Peter Maydell
2016-10-06 3:45 ` David Gibson
2016-10-06 7:23 ` Paolo Bonzini
2016-10-06 8:37 ` David Gibson
2016-10-06 9:40 ` Paolo Bonzini
2016-10-06 10:44 ` Cédric Le Goater
2016-10-06 10:47 ` Peter Maydell
2016-10-06 23:09 ` David Gibson
2016-10-06 3:40 ` David Gibson
2016-10-06 3:38 ` David Gibson
2016-10-06 6:10 ` David Gibson
2016-10-06 11:03 ` Peter Maydell
2016-10-06 14:11 ` Greg Kurz
2016-10-06 15:36 ` Paolo Bonzini
2016-10-06 15:41 ` Peter Maydell
2016-10-06 15:59 ` Laurent Vivier
2016-10-06 23:34 ` David Gibson
2016-10-07 7:44 ` Laurent Vivier
2016-10-06 15:44 ` Cédric Le Goater
2016-10-06 15:45 ` Paolo Bonzini
2016-10-06 23:43 ` David Gibson
2016-10-06 23:31 ` David Gibson [this message]
2016-10-06 23:31 ` David Gibson
2016-10-07 9:52 ` Peter Maydell
2016-10-04 23:26 ` David Gibson
2016-10-05 5:36 ` Cédric Le Goater
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=20161006233148.GC18490@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=clg@kaod.org \
--cc=groug@kaod.org \
--cc=lvivier@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 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.