Blame SOURCES/gdb-rhbz1320945-power9-21of38.patch

01917d
commit 36f7a9411dcd7dbeb3483bc83a1acbb3dd235deb
01917d
Author: Tom Rix <tom@bumblecow.com>
01917d
Date:   Mon Sep 28 12:09:32 2015 +0930
01917d
01917d
    Patches for illegal ppc 500 instructions
01917d
    
01917d
    This change marks a few opcodes as invalid for ppc e500 as well as adds
01917d
    a test to verify the change.
01917d
01917d
### a/opcodes/ChangeLog
01917d
### b/opcodes/ChangeLog
01917d
## -1,3 +1,7 @@
01917d
+2015-09-28  Tom Rix  <tom@bumblecow.com>
01917d
+
01917d
+	* ppc-opc.c (PPC500): Mark some opcodes as invalid
01917d
+
01917d
 2015-09-23  Nick Clifton  <nickc@redhat.com>
01917d
 
01917d
 	* bfin-dis.c (fmtconst): Remove unnecessary call to the abs
01917d
--- a/opcodes/ppc-opc.c
01917d
+++ b/opcodes/ppc-opc.c
01917d
@@ -4779,7 +4779,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 
01917d
 {"tlbiel",	X(31,274),	XRTLRA_MASK, POWER4,	PPC476,		{RB, L}},
01917d
 
01917d
-{"mfapidi",	X(31,275),	X_MASK,      BOOKE,	TITAN,  	{RT, RA}},
01917d
+{"mfapidi",	X(31,275),	X_MASK,      BOOKE,	E500|TITAN,  	{RT, RA}},
01917d
 
01917d
 {"lqarx",	X(31,276),	XEH_MASK,    POWER8,	PPCNONE,	{RTQ, RAX, RBX, EH}},
01917d
 
01917d
@@ -4808,10 +4808,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 {"mfbhrbe",	X(31,302),	X_MASK,      POWER8,	PPCNONE,	{RT, BHRBE}},
01917d
 
01917d
 {"tlbie",	X(31,306),	XRA_MASK,    POWER7,	TITAN,  	{RB, RS}},
01917d
-{"tlbie",	X(31,306),	XRTLRA_MASK, PPC,	POWER7|TITAN,  	{RB, L}},
01917d
+{"tlbie",	X(31,306),	XRTLRA_MASK, PPC,	E500|POWER7|TITAN,  	{RB, L}},
01917d
 {"tlbi",	X(31,306),	XRT_MASK,    POWER,	PPCNONE,	{RA0, RB}},
01917d
 
01917d
-{"eciwx",	X(31,310),	X_MASK,      PPC,	TITAN,  	{RT, RA0, RB}},
01917d
+{"eciwx",	X(31,310),	X_MASK,      PPC,	E500|TITAN,  	{RT, RA0, RB}},
01917d
 
01917d
 {"lhzux",	X(31,311),	X_MASK,      COM|PPCVLE, PPCNONE,	{RT, RAL, RB}},
01917d
 
01917d
@@ -4856,7 +4856,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 {"mfdmasa3",	XSPR(31,323,219), XSPR_MASK, PPC403,	PPCNONE,	{RT}},
01917d
 {"mfdmacc3",	XSPR(31,323,220), XSPR_MASK, PPC403,	PPCNONE,	{RT}},
01917d
 {"mfdmasr",	XSPR(31,323,224), XSPR_MASK, PPC403,	PPCNONE,	{RT}},
01917d
-{"mfdcr",	X(31,323), X_MASK, PPC403|BOOKE|PPCA2|PPC476|PPCVLE, TITAN, {RT, SPR}},
01917d
+{"mfdcr",	X(31,323), X_MASK, PPC403|BOOKE|PPCA2|PPC476|PPCVLE, E500|TITAN, {RT, SPR}},
01917d
 {"mfdcr.",	XRC(31,323,1),	X_MASK,      PPCA2,	PPCNONE,	{RT, SPR}},
01917d
 
01917d
 {"lvexwx",	X(31,325),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
01917d
@@ -5087,7 +5087,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 {"divs",	XO(31,363,0,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
01917d
 {"divs.",	XO(31,363,0,1),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
01917d
 
01917d
-{"tlbia",	X(31,370),	0xffffffff,  PPC,	TITAN,  	{0}},
01917d
+{"tlbia",	X(31,370),	0xffffffff,  PPC,	E500|TITAN,  	{0}},
01917d
 
01917d
 {"mftbu",	XSPR(31,371,269), XSPR_MASK, PPC,	NO371|POWER4,	{RT}},
01917d
 {"mftb",	X(31,371),	X_MASK,      PPC,	NO371|POWER4,	{RT, TBR}},
01917d
@@ -5145,7 +5145,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 
01917d
 {"slbie",	X(31,434),	XRTRA_MASK,  PPC64,	PPCNONE,	{RB}},
01917d
 
01917d
-{"ecowx",	X(31,438),	X_MASK,      PPC,	TITAN,  	{RT, RA0, RB}},
01917d
+{"ecowx",	X(31,438),	X_MASK,      PPC,	E500|TITAN,  	{RT, RA0, RB}},
01917d
 
01917d
 {"sthux",	X(31,439),	X_MASK,      COM|PPCVLE, PPCNONE,	{RS, RAS, RB}},
01917d
 
01917d
@@ -5197,7 +5197,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
01917d
 {"mtdmasa3",	XSPR(31,451,219), XSPR_MASK, PPC403,	PPCNONE,	{RS}},
01917d
 {"mtdmacc3",	XSPR(31,451,220), XSPR_MASK, PPC403,	PPCNONE,	{RS}},
01917d
 {"mtdmasr",	XSPR(31,451,224), XSPR_MASK, PPC403,	PPCNONE,	{RS}},
01917d
-{"mtdcr",	X(31,451), X_MASK, PPC403|BOOKE|PPCA2|PPC476|PPCVLE, TITAN, {SPR, RS}},
01917d
+{"mtdcr",	X(31,451), X_MASK, PPC403|BOOKE|PPCA2|PPC476|PPCVLE, E500|TITAN, {SPR, RS}},
01917d
 {"mtdcr.",	XRC(31,451,1), X_MASK,       PPCA2,	PPCNONE,	{SPR, RS}},
01917d
 
01917d
 {"stvexwx",	X(31,453),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},