From: Paul Mackerras <paulus@samba.org>
To: Alexander Graf <agraf@suse.de>
Cc: Cedric Le Goater <clg@fr.ibm.com>,
"kvm-ppc@vger.kernel.org" <kvm-ppc@vger.kernel.org>,
"kvm@vger.kernel.org mailing list" <kvm@vger.kernel.org>
Subject: Re: [PATCH v2 3/3] KVM: PPC: Book3S: MMIO emulation support for little endian guests
Date: Wed, 06 Nov 2013 05:55:37 +0000 [thread overview]
Message-ID: <20131106055537.GH14842@drongo> (raw)
In-Reply-To: <84018BDE-858B-4F59-8AA0-9135CCFF4720@suse.de>
On Tue, Nov 05, 2013 at 02:01:14PM +0100, Alexander Graf wrote:
>
> On 05.11.2013, at 13:28, Cedric Le Goater <clg@fr.ibm.com> wrote:
>
> > +/*
> > + * Compare endian order of host and guest to determine whether we need
> > + * to byteswap or not
> > + */
> > static inline bool kvmppc_need_byteswap(struct kvm_vcpu *vcpu)
> > {
> > - return vcpu->arch.shared->msr & MSR_LE;
> > + return ((mfmsr() & (MSR_LE)) >> MSR_LE_LG) ^
>
> mfmsr() is slow. Just use #ifdef __LITTLE_ENDIAN__.
Or (MSR_KERNEL & MSR_LE).
> > + /* if we are loading data from a guest which is in Split
> > + * Little Endian mode, the byte order is reversed
>
> Only for data. Instructions are still non-reverse. You express this well in the code, but not in the comment.
Well, his comment does say "if we are loading data", but I agree it's
slightly ambiguous (the guest's instructions are our data).
Paul.
WARNING: multiple messages have this Message-ID (diff)
From: Paul Mackerras <paulus@samba.org>
To: Alexander Graf <agraf@suse.de>
Cc: Cedric Le Goater <clg@fr.ibm.com>,
"kvm-ppc@vger.kernel.org" <kvm-ppc@vger.kernel.org>,
"kvm@vger.kernel.org mailing list" <kvm@vger.kernel.org>
Subject: Re: [PATCH v2 3/3] KVM: PPC: Book3S: MMIO emulation support for little endian guests
Date: Wed, 6 Nov 2013 16:55:37 +1100 [thread overview]
Message-ID: <20131106055537.GH14842@drongo> (raw)
In-Reply-To: <84018BDE-858B-4F59-8AA0-9135CCFF4720@suse.de>
On Tue, Nov 05, 2013 at 02:01:14PM +0100, Alexander Graf wrote:
>
> On 05.11.2013, at 13:28, Cedric Le Goater <clg@fr.ibm.com> wrote:
>
> > +/*
> > + * Compare endian order of host and guest to determine whether we need
> > + * to byteswap or not
> > + */
> > static inline bool kvmppc_need_byteswap(struct kvm_vcpu *vcpu)
> > {
> > - return vcpu->arch.shared->msr & MSR_LE;
> > + return ((mfmsr() & (MSR_LE)) >> MSR_LE_LG) ^
>
> mfmsr() is slow. Just use #ifdef __LITTLE_ENDIAN__.
Or (MSR_KERNEL & MSR_LE).
> > + /* if we are loading data from a guest which is in Split
> > + * Little Endian mode, the byte order is reversed
>
> Only for data. Instructions are still non-reverse. You express this well in the code, but not in the comment.
Well, his comment does say "if we are loading data", but I agree it's
slightly ambiguous (the guest's instructions are our data).
Paul.
next prev parent reply other threads:[~2013-11-06 5:55 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-08 14:12 [PATCH v2 0/3] KVM: PPC: Book3S: MMIO support for Little Endian guests Cédric Le Goater
2013-10-08 14:12 ` Cédric Le Goater
2013-10-08 14:12 ` [PATCH v2 1/3] KVM: PPC: Book3S: add helper routine to load guest instructions Cédric Le Goater
2013-10-08 14:12 ` Cédric Le Goater
2013-10-08 14:12 ` [PATCH v2 2/3] KVM: PPC: Book3S: add helper routines to detect endian Cédric Le Goater
2013-10-08 14:12 ` Cédric Le Goater
2013-10-08 14:12 ` [PATCH v2 3/3] KVM: PPC: Book3S: MMIO emulation support for little endian guests Cédric Le Goater
2013-10-08 14:12 ` Cédric Le Goater
2013-10-08 14:25 ` Alexander Graf
2013-10-08 14:25 ` Alexander Graf
2013-10-08 15:07 ` Cedric Le Goater
2013-10-08 15:07 ` Cedric Le Goater
2013-10-08 15:31 ` [PATCH v3 " Cédric Le Goater
2013-10-08 15:31 ` Cédric Le Goater
2013-10-08 15:36 ` Alexander Graf
2013-10-08 15:36 ` Alexander Graf
2013-10-08 16:10 ` Cedric Le Goater
2013-10-08 16:10 ` Cedric Le Goater
2013-10-08 16:43 ` [PATCH v4 0/3] KVM: PPC: Book3S: MMIO support for Little Endian guests Cédric Le Goater
2013-10-08 16:43 ` Cédric Le Goater
2013-10-08 16:43 ` [PATCH v4 1/3] KVM: PPC: Book3S: add helper routine to load guest instructions Cédric Le Goater
2013-10-08 16:43 ` Cédric Le Goater
2013-10-08 16:43 ` [PATCH v4 2/3] KVM: PPC: Book3S: add helper routines to detect endian order Cédric Le Goater
2013-10-08 16:43 ` Cédric Le Goater
2013-10-08 16:43 ` [PATCH v4 3/3] KVM: PPC: Book3S: MMIO emulation support for little endian guests Cédric Le Goater
2013-10-08 16:43 ` Cédric Le Goater
2013-10-08 23:31 ` [PATCH v2 " Paul Mackerras
2013-10-08 23:31 ` Paul Mackerras
2013-10-08 23:46 ` Alexander Graf
2013-10-08 23:46 ` Alexander Graf
2013-10-09 5:59 ` Paul Mackerras
2013-10-09 5:59 ` Paul Mackerras
2013-10-09 8:29 ` Alexander Graf
2013-10-09 8:29 ` Alexander Graf
2013-10-09 8:42 ` Cedric Le Goater
2013-10-09 8:42 ` Cedric Le Goater
2013-10-10 10:16 ` Paul Mackerras
2013-10-10 10:16 ` Paul Mackerras
2013-11-04 11:44 ` Alexander Graf
2013-11-04 11:44 ` Alexander Graf
2013-11-05 12:28 ` Cedric Le Goater
2013-11-05 12:28 ` Cedric Le Goater
2013-11-05 13:01 ` Alexander Graf
2013-11-05 13:01 ` Alexander Graf
2013-11-05 17:22 ` [PATCH v5 0/6] KVM: PPC: Book3S: MMIO support for Little Endian guests Cédric Le Goater
2013-11-05 17:22 ` Cédric Le Goater
2013-11-05 17:22 ` [PATCH v5 1/6] KVM: PPC: Book3S: add helper routine to load guest instructions Cédric Le Goater
2013-11-05 17:22 ` Cédric Le Goater
2013-11-05 17:22 ` [PATCH v5 2/6] KVM: PPC: Book3S: add helper routines to detect endian Cédric Le Goater
2013-11-05 17:22 ` Cédric Le Goater
2014-01-02 20:05 ` Alexander Graf
2014-01-02 20:05 ` Alexander Graf
2014-01-08 17:22 ` Cedric Le Goater
2014-01-08 17:22 ` Cedric Le Goater
2013-11-05 17:22 ` [PATCH v5 3/6] KVM: PPC: Book3S: MMIO emulation support for little endian guests Cédric Le Goater
2013-11-05 17:22 ` Cédric Le Goater
2014-01-02 20:22 ` Alexander Graf
2014-01-02 20:22 ` Alexander Graf
2014-01-08 17:23 ` Cedric Le Goater
2014-01-08 17:23 ` Cedric Le Goater
2014-01-08 17:34 ` Alexander Graf
2014-01-08 17:34 ` Alexander Graf
2014-01-08 17:40 ` Cedric Le Goater
2014-01-08 17:40 ` Cedric Le Goater
2014-01-08 17:35 ` [PATCH v6] " Cédric Le Goater
2014-01-08 17:35 ` Cédric Le Goater
2014-01-09 10:02 ` [PATCH v7] " Cédric Le Goater
2014-01-09 10:02 ` Cédric Le Goater
2014-01-09 10:17 ` Alexander Graf
2014-01-09 10:17 ` Alexander Graf
2014-01-09 10:33 ` Cedric Le Goater
2014-01-09 10:33 ` Cedric Le Goater
2014-01-09 10:51 ` [PATCH v8] " Cédric Le Goater
2014-01-09 10:51 ` Cédric Le Goater
2014-01-09 10:55 ` Alexander Graf
2014-01-09 10:55 ` Alexander Graf
2013-11-05 17:22 ` [PATCH v5 4/6] KVM: PPC: Book3S: modify kvmppc_need_byteswap() for little endian host Cédric Le Goater
2013-11-05 17:22 ` Cédric Le Goater
2013-11-08 14:36 ` [PATCH v5.1 " Cedric Le Goater
2013-11-08 14:36 ` Cedric Le Goater
2014-01-02 20:28 ` Alexander Graf
2014-01-02 20:28 ` Alexander Graf
2014-01-02 20:25 ` [PATCH v5 " Alexander Graf
2014-01-02 20:25 ` Alexander Graf
2013-11-05 17:22 ` [PATCH v5 5/6] powerpc: add Split Little Endian bit to MSR Cédric Le Goater
2013-11-05 17:22 ` Cédric Le Goater
2013-11-05 17:22 ` [PATCH v5 6/6] KVM: PPC: Book3S: modify byte loading when guest uses Split Little Endian Cédric Le Goater
2013-11-05 17:22 ` Cédric Le Goater
2014-01-02 20:26 ` Alexander Graf
2014-01-02 20:26 ` Alexander Graf
2013-11-06 5:55 ` Paul Mackerras [this message]
2013-11-06 5:55 ` [PATCH v2 3/3] KVM: PPC: Book3S: MMIO emulation support for little endian guests Paul Mackerras
2013-11-08 14:29 ` Cedric Le Goater
2013-11-08 14:29 ` Cedric 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=20131106055537.GH14842@drongo \
--to=paulus@samba.org \
--cc=agraf@suse.de \
--cc=clg@fr.ibm.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.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.