target/ppc: Relax reserved bitmask of indexed store instructions
The PPC440 User Manual says that if bit 31 is set, the contents of CR[CR0] are undefined for indexed store instructions but this form is not invalid. Other PPC variants confirming to recent ISA where this bit may be reserved should ignore reserved bits and not raise invalid instruction exception. In particular, MorphOS has an stwx instruction with bit 31 set and fails to boot currently because of this. With this patch it gets further. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
2a8ceefca2
commit
0123d3cbb0
|
@ -7054,7 +7054,7 @@ GEN_HANDLER(stop##u, opc, 0xFF, 0xFF, 0x00000000, type),
|
||||||
#define GEN_STUX(name, stop, opc2, opc3, type) \
|
#define GEN_STUX(name, stop, opc2, opc3, type) \
|
||||||
GEN_HANDLER(name##ux, 0x1F, opc2, opc3, 0x00000001, type),
|
GEN_HANDLER(name##ux, 0x1F, opc2, opc3, 0x00000001, type),
|
||||||
#define GEN_STX_E(name, stop, opc2, opc3, type, type2, chk) \
|
#define GEN_STX_E(name, stop, opc2, opc3, type, type2, chk) \
|
||||||
GEN_HANDLER_E(name##x, 0x1F, opc2, opc3, 0x00000001, type, type2),
|
GEN_HANDLER_E(name##x, 0x1F, opc2, opc3, 0x00000000, type, type2),
|
||||||
#define GEN_STS(name, stop, op, type) \
|
#define GEN_STS(name, stop, op, type) \
|
||||||
GEN_ST(name, stop, op | 0x20, type) \
|
GEN_ST(name, stop, op | 0x20, type) \
|
||||||
GEN_STU(name, stop, op | 0x21, type) \
|
GEN_STU(name, stop, op | 0x21, type) \
|
||||||
|
|
Loading…
Reference in a new issue