target-s390: Fail on unknown instructions
We were being a bit too nice and didn't give the guest an invalid instruction
interrupt.
While that works, it's not exactly the fastest thing to do, since now the
guest doesn't know that we're not really implementing that instruction, so it
continues doing it.
We run into this with the set_page_unstable hint instruction. So let's bail out
in these cases.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
(cherry picked from commit d7963c43b9
)
This commit is contained in:
parent
97d949d9da
commit
a49668769d
|
@ -405,7 +405,7 @@ static int handle_instruction(CPUState *env, struct kvm_run *run)
|
||||||
unsigned int ipa0 = (run->s390_sieic.ipa & 0xff00);
|
unsigned int ipa0 = (run->s390_sieic.ipa & 0xff00);
|
||||||
uint8_t ipa1 = run->s390_sieic.ipa & 0x00ff;
|
uint8_t ipa1 = run->s390_sieic.ipa & 0x00ff;
|
||||||
int ipb_code = (run->s390_sieic.ipb & 0x0fff0000) >> 16;
|
int ipb_code = (run->s390_sieic.ipb & 0x0fff0000) >> 16;
|
||||||
int r = 0;
|
int r = -1;
|
||||||
|
|
||||||
dprintf("handle_instruction 0x%x 0x%x\n", run->s390_sieic.ipa, run->s390_sieic.ipb);
|
dprintf("handle_instruction 0x%x 0x%x\n", run->s390_sieic.ipa, run->s390_sieic.ipb);
|
||||||
switch (ipa0) {
|
switch (ipa0) {
|
||||||
|
|
Loading…
Reference in New Issue