diff options
author | David Hildenbrand <david@redhat.com> | 2017-12-08 17:02:01 +0100 |
---|---|---|
committer | Cornelia Huck <cohuck@redhat.com> | 2017-12-14 17:56:54 +0100 |
commit | 86c34633c5a822e5eebed96ae163426e2615abc1 (patch) | |
tree | f33c87a87d60412c46642b2304d68cf877ad0558 /target/s390x/misc_helper.c | |
parent | f400be1813ee581f15bb2e93b463e2d9857e12f4 (diff) |
s390x/tcg: wire up SET ADDRESS LIMIT
Let's handle it just like KVM:
Depending on the model, this instruction may not be
provided. When this instruction is not provided, it is
checked for operand exception and privileged-opera-
tion exception, and then is suppressed.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20171208160207.26494-9-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/misc_helper.c')
-rw-r--r-- | target/s390x/misc_helper.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c index 04fb53d8a3..1941c9c3de 100644 --- a/target/s390x/misc_helper.c +++ b/target/s390x/misc_helper.c @@ -377,6 +377,15 @@ void HELPER(rsch)(CPUS390XState *env, uint64_t r1) qemu_mutex_unlock_iothread(); } +void HELPER(sal)(CPUS390XState *env, uint64_t r1) +{ + S390CPU *cpu = s390_env_get_cpu(env); + + qemu_mutex_lock_iothread(); + ioinst_handle_sal(cpu, r1, GETPC()); + qemu_mutex_unlock_iothread(); +} + void HELPER(ssch)(CPUS390XState *env, uint64_t r1, uint64_t inst) { S390CPU *cpu = s390_env_get_cpu(env); |