LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Ellerman <michael@ellerman.id.au>
To: Jia Hongtao <hongtao.jia@freescale.com>
Cc: B07421@freescale.com, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 1/2] powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h
Date: Tue, 23 Apr 2013 15:29:51 +1000	[thread overview]
Message-ID: <20130423052951.GB20902@concordia> (raw)
In-Reply-To: <1366684776-10946-1-git-send-email-hongtao.jia@freescale.com>

On Tue, Apr 23, 2013 at 10:39:35AM +0800, Jia Hongtao wrote:
> Opcode and xopcode are useful definitions not just for KVM. Move these
> definitions to asm/ppc-opcode.h for public use.

Agreed. Though nearly everything else in ppc-opcode.h uses PPC_INST_FOO,
or at least PPC_FOO, any reason not to update these to match?

cheers

> diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h
> index 8752bc8..18de83a 100644
> --- a/arch/powerpc/include/asm/ppc-opcode.h
> +++ b/arch/powerpc/include/asm/ppc-opcode.h
> @@ -81,6 +81,51 @@
>  #define	__REGA0_R30	30
>  #define	__REGA0_R31	31
>  
> +/* opcode and xopcode for instructions */
> +#define OP_TRAP 3
> +#define OP_TRAP_64 2
> +
> +#define OP_31_XOP_TRAP      4
> +#define OP_31_XOP_LWZX      23
> +#define OP_31_XOP_LWZUX     55
> +#define OP_31_XOP_TRAP_64   68
> +#define OP_31_XOP_DCBF      86
> +#define OP_31_XOP_LBZX      87
> +#define OP_31_XOP_STWX      151
> +#define OP_31_XOP_STBX      215
> +#define OP_31_XOP_LBZUX     119
> +#define OP_31_XOP_STBUX     247
> +#define OP_31_XOP_LHZX      279
> +#define OP_31_XOP_LHZUX     311
> +#define OP_31_XOP_MFSPR     339
> +#define OP_31_XOP_LHAX      343
> +#define OP_31_XOP_STHX      407
> +#define OP_31_XOP_STHUX     439
> +#define OP_31_XOP_MTSPR     467
> +#define OP_31_XOP_DCBI      470
> +#define OP_31_XOP_LWBRX     534
> +#define OP_31_XOP_TLBSYNC   566
> +#define OP_31_XOP_STWBRX    662
> +#define OP_31_XOP_LHBRX     790
> +#define OP_31_XOP_STHBRX    918
> +
> +#define OP_LWZ  32
> +#define OP_LD   58
> +#define OP_LWZU 33
> +#define OP_LBZ  34
> +#define OP_LBZU 35
> +#define OP_STW  36
> +#define OP_STWU 37
> +#define OP_STD  62
> +#define OP_STB  38
> +#define OP_STBU 39
> +#define OP_LHZ  40
> +#define OP_LHZU 41
> +#define OP_LHA  42
> +#define OP_LHAU 43
> +#define OP_STH  44
> +#define OP_STHU 45
> +
>  /* sorted alphabetically */
>  #define PPC_INST_DCBA			0x7c0005ec
>  #define PPC_INST_DCBA_MASK		0xfc0007fe
> diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c
> index 7a73b6f..426d3f5 100644
> --- a/arch/powerpc/kvm/emulate.c
> +++ b/arch/powerpc/kvm/emulate.c
> @@ -30,52 +30,10 @@
>  #include <asm/byteorder.h>
>  #include <asm/kvm_ppc.h>
>  #include <asm/disassemble.h>
> +#include <asm/ppc-opcode.h>
>  #include "timing.h"
>  #include "trace.h"
>  
> -#define OP_TRAP 3
> -#define OP_TRAP_64 2
> -
> -#define OP_31_XOP_TRAP      4
> -#define OP_31_XOP_LWZX      23
> -#define OP_31_XOP_TRAP_64   68
> -#define OP_31_XOP_DCBF      86
> -#define OP_31_XOP_LBZX      87
> -#define OP_31_XOP_STWX      151
> -#define OP_31_XOP_STBX      215
> -#define OP_31_XOP_LBZUX     119
> -#define OP_31_XOP_STBUX     247
> -#define OP_31_XOP_LHZX      279
> -#define OP_31_XOP_LHZUX     311
> -#define OP_31_XOP_MFSPR     339
> -#define OP_31_XOP_LHAX      343
> -#define OP_31_XOP_STHX      407
> -#define OP_31_XOP_STHUX     439
> -#define OP_31_XOP_MTSPR     467
> -#define OP_31_XOP_DCBI      470
> -#define OP_31_XOP_LWBRX     534
> -#define OP_31_XOP_TLBSYNC   566
> -#define OP_31_XOP_STWBRX    662
> -#define OP_31_XOP_LHBRX     790
> -#define OP_31_XOP_STHBRX    918
> -
> -#define OP_LWZ  32
> -#define OP_LD   58
> -#define OP_LWZU 33
> -#define OP_LBZ  34
> -#define OP_LBZU 35
> -#define OP_STW  36
> -#define OP_STWU 37
> -#define OP_STD  62
> -#define OP_STB  38
> -#define OP_STBU 39
> -#define OP_LHZ  40
> -#define OP_LHZU 41
> -#define OP_LHA  42
> -#define OP_LHAU 43
> -#define OP_STH  44
> -#define OP_STHU 45
> -
>  void kvmppc_emulate_dec(struct kvm_vcpu *vcpu)
>  {
>  	unsigned long dec_nsec;
> -- 
> 1.8.0
> 
> 
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
> 

  parent reply	other threads:[~2013-04-23  5:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-23  2:39 [PATCH 1/2] powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h Jia Hongtao
2013-04-23  2:39 ` [PATCH 2/2 V7] powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx Jia Hongtao
2013-04-25 15:31   ` Segher Boessenkool
2013-04-25 16:58     ` Scott Wood
2013-04-25 17:32       ` Segher Boessenkool
2013-04-27  2:26       ` Jia Hongtao-B38951
2013-04-27 13:31         ` Segher Boessenkool
2013-04-28  2:20           ` Jia Hongtao-B38951
2013-04-29 20:29         ` Scott Wood
2013-05-02  7:00           ` Jia Hongtao-B38951
2013-04-23  5:29 ` Michael Ellerman [this message]
2013-04-23  6:36   ` [PATCH 1/2] powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h Jia Hongtao-B38951
2013-04-24  4:19     ` Benjamin Herrenschmidt
2013-04-26  2:40       ` Jia Hongtao-B38951

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=20130423052951.GB20902@concordia \
    --to=michael@ellerman.id.au \
    --cc=B07421@freescale.com \
    --cc=hongtao.jia@freescale.com \
    --cc=linuxppc-dev@lists.ozlabs.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