From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52101) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bQSgH-0001RB-UK for qemu-devel@nongnu.org; Fri, 22 Jul 2016 01:07:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bQSgF-0006na-Jx for qemu-devel@nongnu.org; Fri, 22 Jul 2016 01:07:24 -0400 Date: Fri, 22 Jul 2016 15:07:14 +1000 From: David Gibson Message-ID: <20160722050714.GR15941@voom.fritz.box> References: <1468861517-2508-1-git-send-email-nikunj@linux.vnet.ibm.com> <1468861517-2508-14-git-send-email-nikunj@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="84mZ5ifxO1MoKVCL" Content-Disposition: inline In-Reply-To: <1468861517-2508-14-git-send-email-nikunj@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [RFC v1 13/13] target-ppc: introduce opc4 for Expanded Opcode List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Nikunj A Dadhania Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org, aneesh.kumar@linux.vnet.ibm.com, benh@kernel.crashing.org --84mZ5ifxO1MoKVCL Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jul 18, 2016 at 10:35:17PM +0530, Nikunj A Dadhania wrote: > ISA 3.0 has introduced EO - Expanded Opcode. Introduce third level > indirect opcode table and corresponding parsing routines. >=20 > EO (11:12) Expanded opcode field > Formats: XX1 >=20 > EO (11:15) Expanded opcode field > Formats: VX, X, XX2 >=20 > Signed-off-by: Nikunj A Dadhania > --- > target-ppc/translate.c | 73 +++++++++++++++++++++++++------ > target-ppc/translate_init.c | 103 ++++++++++++++++++++++++++++++++------= ------ > 2 files changed, 136 insertions(+), 40 deletions(-) >=20 > diff --git a/target-ppc/translate.c b/target-ppc/translate.c > index 6c5a4a6..733d68d 100644 > --- a/target-ppc/translate.c > +++ b/target-ppc/translate.c > @@ -40,6 +40,7 @@ > /* Include definitions for instructions classes and implementations flag= s */ > //#define PPC_DEBUG_DISAS > //#define DO_PPC_STATISTICS > +//#define PPC_DUMP_CPU > =20 > #ifdef PPC_DEBUG_DISAS > # define LOG_DISAS(...) qemu_log_mask(CPU_LOG_TB_IN_ASM, ## __VA_ARGS__) > @@ -367,12 +368,15 @@ GEN_OPCODE2(name, onam, opc1, opc2, opc3, inval, ty= pe, PPC_NONE) > #define GEN_HANDLER2_E(name, onam, opc1, opc2, opc3, inval, type, type2)= \ > GEN_OPCODE2(name, onam, opc1, opc2, opc3, inval, type, type2) > =20 > +#define GEN_HANDLER_E_2(name, opc1, opc2, opc3, opc4, inval, type, type2= ) \ > +GEN_OPCODE3(name, opc1, opc2, opc3, opc4, inval, type, type2) > + > typedef struct opcode_t { > - unsigned char opc1, opc2, opc3; > + unsigned char opc1, opc2, opc3, opc4; > #if HOST_LONG_BITS =3D=3D 64 /* Explicitly align to 64 bits */ > - unsigned char pad[5]; > + unsigned char pad[4]; > #else > - unsigned char pad[1]; > + unsigned char pad[4]; /* 4-byte pad to maintain pad in opcode table = */ IIUC the point here is to align entries to the wordsize. If the worsize is 32-bit you shouldn't need any extra padding here. --=20 David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson --84mZ5ifxO1MoKVCL Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJXkaoCAAoJEGw4ysog2bOSZnYP/1bCu1VlRqfcksIT/zuFKsYy QKTLS2yU1Uycp2V/kWNVlUINaGMw9wuAiMXo0/Y+WIqVaFl5k0L68d+CEvLx6ERM J5Q6+zcNiW/4zMJoHMeF2NNB7UqL/qiQcRCdQgTbxsajdphv6yPyKOtEKoelsu3C pCF1GxknEN9cujH1Atk2L26fU6neYCQ+kmYh30JwABrXP0fqgam0H44Q+uEUwnLG iZwAPFkevJhLjCGMV4IxiAyC+X6EC2XaeH8kDKRjknFU8gYtKI/pnmq3K65hDpij nxofX60CfbNU+AVnWLAv0ACsZ0lKcQ2Mev0slHoJogUcVqhiL8zpNeXmoRcQf3Nv 1pOBSVn51pPXfMdHtainJM9+ji9z6/m/9k89J6q8C8IVb1W5ExjscMUBd89BeVcU PNEs8VvW9UPeQ+BCOxiUbeh4nXTA3jpHf9Smmr4IhhaoQZ9XdwFEwXDPqpgOnG6l t0mhCVJPuBtl6I9XREQUmoA35vGu7gzJh3K85sTdMnE8eQs+xoMfkTk4TrbcLJvA Nq8xmLggC68ONcc28fJEgxD8A8Zv3AEtfKJq1Sue0WXdhJJnxG0KXwmf1s478umG Ew94GoBViGsjSuDrOyMU3XEsyEyn/jOEYGCBK/7ziozrDgtl9smMbddMV3LwBkVt qFaUXluaJs+6zaPkufem =10uV -----END PGP SIGNATURE----- --84mZ5ifxO1MoKVCL--