target-s390x: fix exception for invalid operation code

When an operation code is not recognized (ie invalid instruction) an
operation exception should be generated instead of a specification
exception. The latter is for valid opcode, with invalid operands or
modifiers.

This give a very basic GDB support in the guest, as it uses the invalid
opcode 0x0001 to generate a trap.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Aurelien Jarno 2015-06-03 23:09:41 +02:00 committed by Alexander Graf
parent a1c7610a68
commit 111d7f4a69

View File

@ -320,7 +320,7 @@ static void gen_program_exception(DisasContext *s, int code)
static inline void gen_illegal_opcode(DisasContext *s) static inline void gen_illegal_opcode(DisasContext *s)
{ {
gen_program_exception(s, PGM_SPECIFICATION); gen_program_exception(s, PGM_OPERATION);
} }
#ifndef CONFIG_USER_ONLY #ifndef CONFIG_USER_ONLY