All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cedric Le Goater <clg@fr.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: Paul Mackerras <paulus@samba.org>,
	kvm-ppc@vger.kernel.org,
	"kvm@vger.kernel.org mailing list" <kvm@vger.kernel.org>
Subject: Re: [PATCH v5 2/6] KVM: PPC: Book3S: add helper routines to detect endian
Date: Wed, 08 Jan 2014 17:22:28 +0000	[thread overview]
Message-ID: <52CD8954.4040209@fr.ibm.com> (raw)
In-Reply-To: <4A7ABBCC-2B37-4367-A19E-FF25CE741B0A@suse.de>

Hi Alex,

On 01/02/2014 09:05 PM, Alexander Graf wrote:
> 
> On 05.11.2013, at 18:22, Cédric Le Goater <clg@fr.ibm.com> wrote:
> 
>> They will be used to decide whether to byte-swap or not. When Little
>> Endian host kernels come, these routines will need to be changed
>> accordingly.
>>
>> Signed-off-by: Cédric Le Goater <clg@fr.ibm.com>
>> ---
>> arch/powerpc/include/asm/kvm_book3s.h |   10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h
>> index d11c089..22ec875 100644
>> --- a/arch/powerpc/include/asm/kvm_book3s.h
>> +++ b/arch/powerpc/include/asm/kvm_book3s.h
>> @@ -270,6 +270,16 @@ static inline ulong kvmppc_get_pc(struct kvm_vcpu *vcpu)
>> 	return vcpu->arch.pc;
>> }
>>
>> +static inline bool kvmppc_need_byteswap(struct kvm_vcpu *vcpu)
>> +{
>> +	return vcpu->arch.shared->msr & MSR_LE;
>> +}
>> +
>> +static inline bool kvmppc_is_bigendian(struct kvm_vcpu *vcpu)
>> +{
>> +	return !kvmppc_need_byteswap(vcpu);
> 
> This is logically reversed. kvmppc_need_byteswap should check kvmppc_is_bigendian(), 
> not the other way around.
> 
 
I think we should get rid of kvmppc_is_bigendian(). 

As you noted in a subsequent email, it ends up returning true when run 
for "little endian guests on little endian hosts", which is awkward and 
the way it is used in kvmppc_handle_load() and kvmppc_handle_store()
can be improved.

I will give it a try taking into account the other comments you made. 

C.


WARNING: multiple messages have this Message-ID (diff)
From: Cedric Le Goater <clg@fr.ibm.com>
To: Alexander Graf <agraf@suse.de>
Cc: Paul Mackerras <paulus@samba.org>,
	kvm-ppc@vger.kernel.org,
	"kvm@vger.kernel.org mailing list" <kvm@vger.kernel.org>
Subject: Re: [PATCH v5 2/6] KVM: PPC: Book3S: add helper routines to detect endian
Date: Wed, 08 Jan 2014 18:22:28 +0100	[thread overview]
Message-ID: <52CD8954.4040209@fr.ibm.com> (raw)
In-Reply-To: <4A7ABBCC-2B37-4367-A19E-FF25CE741B0A@suse.de>

Hi Alex,

On 01/02/2014 09:05 PM, Alexander Graf wrote:
> 
> On 05.11.2013, at 18:22, Cédric Le Goater <clg@fr.ibm.com> wrote:
> 
>> They will be used to decide whether to byte-swap or not. When Little
>> Endian host kernels come, these routines will need to be changed
>> accordingly.
>>
>> Signed-off-by: Cédric Le Goater <clg@fr.ibm.com>
>> ---
>> arch/powerpc/include/asm/kvm_book3s.h |   10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
>> diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h
>> index d11c089..22ec875 100644
>> --- a/arch/powerpc/include/asm/kvm_book3s.h
>> +++ b/arch/powerpc/include/asm/kvm_book3s.h
>> @@ -270,6 +270,16 @@ static inline ulong kvmppc_get_pc(struct kvm_vcpu *vcpu)
>> 	return vcpu->arch.pc;
>> }
>>
>> +static inline bool kvmppc_need_byteswap(struct kvm_vcpu *vcpu)
>> +{
>> +	return vcpu->arch.shared->msr & MSR_LE;
>> +}
>> +
>> +static inline bool kvmppc_is_bigendian(struct kvm_vcpu *vcpu)
>> +{
>> +	return !kvmppc_need_byteswap(vcpu);
> 
> This is logically reversed. kvmppc_need_byteswap should check kvmppc_is_bigendian(), 
> not the other way around.
> 
 
I think we should get rid of kvmppc_is_bigendian(). 

As you noted in a subsequent email, it ends up returning true when run 
for "little endian guests on little endian hosts", which is awkward and 
the way it is used in kvmppc_handle_load() and kvmppc_handle_store()
can be improved.

I will give it a try taking into account the other comments you made. 

C.


  reply	other threads:[~2014-01-08 17:22 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 [this message]
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                     ` [PATCH v2 3/3] KVM: PPC: Book3S: MMIO emulation support for little endian guests Paul Mackerras
2013-11-06  5:55                       ` 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=52CD8954.4040209@fr.ibm.com \
    --to=clg@fr.ibm.com \
    --cc=agraf@suse.de \
    --cc=kvm-ppc@vger.kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=paulus@samba.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.