All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kumar Gala <galak@kernel.crashing.org>
To: Michael Neuling <mikey@neuling.org>
Cc: Paul Mackerras <paulus@samba.org>,
	Milton Miller <miltonm@bga.com>,
	linuxppc-dev@ozlabs.org
Subject: Re: [PATCH 2/4] powerpc: Move VSX load/stores into ppc-opcode.h
Date: Thu, 30 Apr 2009 06:28:03 -0500	[thread overview]
Message-ID: <9DA79671-710B-4626-B424-AED985FCAFBD@kernel.crashing.org> (raw)
In-Reply-To: <20090430065801.A57921222D@localhost.localdomain>


On Apr 30, 2009, at 1:58 AM, Michael Neuling wrote:

> Cleans up the VSX load/store instructions by moving them into
> ppc-opcode.h.
>
> Signed-off-by: Michael Neuling <mikey@neuling.org>
> ---
>

Acked-by: Kumar Gala <galak@kernel.crashing.org>

- k


> arch/powerpc/include/asm/ppc-opcode.h |   13 +++++++++++++
> arch/powerpc/include/asm/ppc_asm.h    |   10 ----------
> 2 files changed, 13 insertions(+), 10 deletions(-)
>
> Index: linux-2.6-ozlabs/arch/powerpc/include/asm/ppc-opcode.h
> ===================================================================
> --- linux-2.6-ozlabs.orig/arch/powerpc/include/asm/ppc-opcode.h
> +++ linux-2.6-ozlabs/arch/powerpc/include/asm/ppc-opcode.h
> @@ -25,6 +25,7 @@
> #define PPC_INST_LSWI			0x7c0004aa
> #define PPC_INST_LSWX			0x7c00042a
> #define PPC_INST_LWSYNC			0x7c2004ac
> +#define PPC_INST_LXVD2X			0x7c000698
> #define PPC_INST_MCRXR			0x7c000400
> #define PPC_INST_MCRXR_MASK		0xfc0007fe
> #define PPC_INST_MFSPR_PVR		0x7c1f42a6
> @@ -43,12 +44,14 @@
>
> #define PPC_INST_STSWI			0x7c0005aa
> #define PPC_INST_STSWX			0x7c00052a
> +#define PPC_INST_STXVD2X		0x7c000798
> #define PPC_INST_TLBILX			0x7c000024
> #define PPC_INST_WAIT			0x7c00007c
>
> /* macros to insert fields into opcodes */
> #define __PPC_RA(a)	(((a) & 0x1f) << 16)
> #define __PPC_RB(b)	(((b) & 0x1f) << 11)
> +#define __PPC_XS(s)	((((s) & 0x1f) << 21) | (((s) & 0x20) >> 5))
> #define __PPC_T_TLB(t)	(((t) & 0x3) << 21)
> #define __PPC_WC(w)	(((w) & 0x3) << 21)
>
> @@ -70,4 +73,14 @@
> #define PPC_WAIT(w)		stringify_in_c(.long PPC_INST_WAIT | \
> 					__PPC_WC(w))
>
> +/*
> + * Define what the VSX XX1 form instructions will look like, then add
> + * the 128 bit load store instructions based on that.
> + */
> +#define VSX_XX1(s, a, b)	(__PPC_XS(s) | __PPC_RA(a) | __PPC_RB(b))
> +#define STXVD2X(s, a, b)	stringify_in_c(.long PPC_INST_STXVD2X | \
> +					       VSX_XX1((s), (a), (b)))
> +#define LXVD2X(s, a, b)		stringify_in_c(.long PPC_INST_LXVD2X | \
> +					       VSX_XX1((s), (a), (b)))
> +
> #endif /* _ASM_POWERPC_PPC_OPCODE_H */
> Index: linux-2.6-ozlabs/arch/powerpc/include/asm/ppc_asm.h
> ===================================================================
> --- linux-2.6-ozlabs.orig/arch/powerpc/include/asm/ppc_asm.h
> +++ linux-2.6-ozlabs/arch/powerpc/include/asm/ppc_asm.h
> @@ -76,16 +76,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_PURR);				
> 				REST_10GPRS(22, base)
> #endif
>
> -/*
> - * Define what the VSX XX1 form instructions will look like, then add
> - * the 128 bit load store instructions based on that.
> - */
> -#define VSX_XX1(xs, ra, rb)	(((xs) & 0x1f) << 21 | ((ra) << 16) |  \
> -				 ((rb) << 11) | (((xs) >> 5)))
> -
> -#define STXVD2X(xs, ra, rb)	.long (0x7c000798 | VSX_XX1((xs), (ra),  
> (rb)))
> -#define LXVD2X(xs, ra, rb)	.long (0x7c000698 | VSX_XX1((xs), (ra),  
> (rb)))
> -
> #define SAVE_2GPRS(n, base)	SAVE_GPR(n, base); SAVE_GPR(n+1, base)
> #define SAVE_4GPRS(n, base)	SAVE_2GPRS(n, base); SAVE_2GPRS(n+2, base)
> #define SAVE_8GPRS(n, base)	SAVE_4GPRS(n, base); SAVE_4GPRS(n+4, base)

  reply	other threads:[~2009-04-30 11:28 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-24  6:24 [PATCH 0/2] powerpc: tlbie implementation PowerPC 2.06 Michael Neuling
2009-04-24  6:24 ` [PATCH 1/2] powerpc: Enable CPU feature sections for inline asm Michael Neuling
2009-04-24  6:24 ` [PATCH 2/2] powerpc: Add 2.06 tlbie mnemonics Michael Neuling
2009-04-27  1:20   ` Benjamin Herrenschmidt
2009-04-27 19:30   ` Kumar Gala
2009-04-27 19:31   ` Kumar Gala
2009-04-27 19:46     ` Kumar Gala
2009-04-28  5:03       ` [PATCH 0/2] powerpc: tlbie implementation for PowerPC ISA 2.06 Michael Neuling
2009-04-28  5:03         ` [PATCH 1/2] powerpc: Enable MMU feature sections for inline asm Michael Neuling
2009-04-28  5:03         ` [PATCH 2/2] powerpc: Add 2.06 tlbie mnemonics Michael Neuling
2009-04-28 12:05           ` Kumar Gala
2009-04-28 12:40             ` Michael Neuling
2009-04-28 12:45             ` [PATCH 0/2] powerpc: tlbie implementation for PowerPC ISA 2.06 Michael Neuling
2009-04-28 12:45               ` [PATCH 1/2] powerpc: Enable MMU feature sections for inline asm Michael Neuling
2009-04-28 12:45               ` [PATCH 2/2] powerpc: Add 2.06 tlbie mnemonics Michael Neuling
2009-04-28 13:21                 ` Kumar Gala
2009-04-29  0:16                   ` Michael Neuling
2009-04-29  0:26                   ` [PATCH 0/2] powerpc: tlbie implementation for PowerPC ISA 2.06 Michael Neuling
2009-04-29  0:26                     ` [PATCH 1/2] powerpc: Enable MMU feature sections for inline asm Michael Neuling
2009-04-29  0:52                       ` Michael Ellerman
2009-04-29  7:20                         ` [PATCH 0/2] powerpc: Cleanup code in ppc-opcode.h Michael Neuling
2009-04-29  7:20                           ` [PATCH 2/2] powerpc: Move VSX load/stores into ppc-opcode.h Michael Neuling
2009-04-29 12:38                             ` Kumar Gala
2009-04-30  0:24                               ` Michael Neuling
2009-04-30  6:58                                 ` [PATCH 0/4] powerpc: tlbie implementation for PowerPC ISA 2.06 and cleanups for ppc-opcode.h Michael Neuling
2009-04-30  6:58                                   ` [PATCH 2/4] powerpc: Move VSX load/stores into ppc-opcode.h Michael Neuling
2009-04-30 11:28                                     ` Kumar Gala [this message]
2009-04-30  6:58                                   ` [PATCH 1/4] powerpc: Cleanup macros in ppc-opcode.h Michael Neuling
2009-04-30 11:27                                     ` Kumar Gala
2009-04-30  6:58                                   ` [PATCH 3/4] powerpc: Enable MMU feature sections for inline asm Michael Neuling
2009-04-30  6:58                                   ` [PATCH 4/4] powerpc: Add 2.06 tlbie mnemonics Michael Neuling
2009-04-29  7:20                           ` [PATCH 1/2] powerpc: Cleanup macros in ppc-opcode.h Michael Neuling
2009-04-29  7:27                           ` [PATCH 0/2] powerpc: tlbie implementation for PowerPC ISA 2.06 Michael Neuling
2009-04-29  7:27                             ` [PATCH 1/2] powerpc: Enable MMU feature sections for inline asm Michael Neuling
2009-04-29  7:27                             ` [PATCH 2/2] powerpc: Add 2.06 tlbie mnemonics Michael Neuling
2009-04-29  0:26                     ` Michael Neuling

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=9DA79671-710B-4626-B424-AED985FCAFBD@kernel.crashing.org \
    --to=galak@kernel.crashing.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=mikey@neuling.org \
    --cc=miltonm@bga.com \
    --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.