diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2015-06-15 17:57:07 +0200 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2015-06-17 12:40:50 +0200 |
commit | 8df7eef3059394bd53cdf7609aac9a50a78aa030 (patch) | |
tree | 346f9be7b16eba5e59961069a802bb6de2525e1a /target-s390x/insn-data.def | |
parent | cbed0ba78f04ce9e2e718431f64eb4b621288aca (diff) |
target-s390x: wire up DIAG IPL in TCG mode
DIAG IPL is already implemented for KVM, but not wired from TCG. For
that change the format of the instruction so that we can get R1 and R3
numbers in addition to the function code.
The diag function can change plenty of things, including CC, so we
should enter with a static CC. Also it doesn't set the value of general
register 2 to 0 as in the current code. We also need to exit the CPU
loop after a reset, which means a new PSW.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x/insn-data.def')
-rw-r--r-- | target-s390x/insn-data.def | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/target-s390x/insn-data.def b/target-s390x/insn-data.def index 1223670721..fe5e591e9c 100644 --- a/target-s390x/insn-data.def +++ b/target-s390x/insn-data.def @@ -835,7 +835,7 @@ /* COMPARE AND SWAP AND PURGE */ C(0xb250, CSP, RRE, Z, 0, ra2, 0, 0, csp, 0) /* DIAGNOSE (KVM hypercall) */ - C(0x8300, DIAG, RX_a, Z, 0, 0, 0, 0, diag, 0) + C(0x8300, DIAG, RSI, Z, 0, 0, 0, 0, diag, 0) /* INSERT STORAGE KEY EXTENDED */ C(0xb229, ISKE, RRE, Z, 0, r2_o, new, r1_8, iske, 0) /* INVALIDATE PAGE TABLE ENTRY */ |