Re: [Qemu-devel] [PATCH 26/28] target-ppc: Altivec 2.07: AES Instructions

2014-02-26 Thread Richard Henderson
On 02/26/2014 02:06 PM, Tom Musta wrote: > s/AES_Te4/AES_Te*/ > > And I should have added ... > > Even though I cannot use AES_Te4, I certainly can construct a flattened table > for InvMixColumns (a la AES_T*). This will result in a faster implementation. > > Does it make sense to put this InvM

Re: [Qemu-devel] [PATCH 26/28] target-ppc: Altivec 2.07: AES Instructions

2014-02-26 Thread Tom Musta
On 2/26/2014 1:22 PM, Tom Musta wrote: > I see one problem with the PowerPC vncipher instruction. This instruction is > not equivalent the aesdec. Moreover, the AddRoundKey (XOR) is performed > *before* > applying the InvMixColumns operation. So the AES_Te4 mapping is not correct > for PPC. s/

Re: [Qemu-devel] [PATCH 26/28] target-ppc: Altivec 2.07: AES Instructions

2014-02-26 Thread Tom Musta
On 2/24/2014 11:59 AM, Richard Henderson wrote: > On 02/12/2014 01:23 PM, Tom Musta wrote: >> +static uint8_t SBOX[256] = { > > I'm not keen on yet another copy of AES data. > > Please reuse "qemu/aes.h" as much as possible. Please see how we use those in > target-i386; from a quick reading, the

Re: [Qemu-devel] [PATCH 26/28] target-ppc: Altivec 2.07: AES Instructions

2014-02-24 Thread Richard Henderson
On 02/24/2014 10:11 AM, Peter Maydell wrote: > On 24 February 2014 17:59, Richard Henderson wrote: >> I'll also note that arm contains a second copy of the aes_{i,}shifts arrays. >> So after those are moved to common code, we avoid that duplication too. > > AIUI this duplication was because the u

Re: [Qemu-devel] [PATCH 26/28] target-ppc: Altivec 2.07: AES Instructions

2014-02-24 Thread Peter Maydell
On 24 February 2014 17:59, Richard Henderson wrote: > I'll also note that arm contains a second copy of the aes_{i,}shifts arrays. > So after those are moved to common code, we avoid that duplication too. AIUI this duplication was because the utils/ code wasn't suitable for ARM; Ard's rationale i

Re: [Qemu-devel] [PATCH 26/28] target-ppc: Altivec 2.07: AES Instructions

2014-02-24 Thread Richard Henderson
On 02/12/2014 01:23 PM, Tom Musta wrote: > +static uint8_t SBOX[256] = { I'm not keen on yet another copy of AES data. Please reuse "qemu/aes.h" as much as possible. Please see how we use those in target-i386; from a quick reading, these insns should match up: aesencvcipher aesencla

[Qemu-devel] [PATCH 26/28] target-ppc: Altivec 2.07: AES Instructions

2014-02-12 Thread Tom Musta
This patch adds the Vector AES instructions introduced in Power ISA Version 2.07: - Vector AES Cipher (vcipher) - Vector AES Cipher Last (vcipherlast) - Vector AES Inverse Cipher (vncipher) - Vector AES Inverse Cipher Last (vncipherlast) - Vector AES SubBytes (vsbox) Note that the