diff options
author | Cho, Yu-Chen <acho@suse.com> | 2021-07-07 18:53:17 +0800 |
---|---|---|
committer | Cornelia Huck <cohuck@redhat.com> | 2021-07-07 14:01:56 +0200 |
commit | c9274b6bf0571ecbaaed3e9c3b229e17607a0ea2 (patch) | |
tree | ed9756bc3e44ba8db0e02bc9975347f6b898f1c1 /target/s390x/crypto_helper.c | |
parent | b6b4722307f31491ee553c674ded2a8bba6173e1 (diff) | |
download | qemu-c9274b6bf0571ecbaaed3e9c3b229e17607a0ea2.zip qemu-c9274b6bf0571ecbaaed3e9c3b229e17607a0ea2.tar.gz qemu-c9274b6bf0571ecbaaed3e9c3b229e17607a0ea2.tar.bz2 |
target/s390x: start moving TCG-only code to tcg/
move everything related to translate, as well as HELPER code in tcg/
mmu_helper.c stays put for now, as it contains both TCG and KVM code.
After the reshuffling, update MAINTAINERS accordingly.
Make use of the new directory:
target/s390x/tcg/
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Signed-off-by: Cho, Yu-Chen <acho@suse.com>
Acked-by: David Hildenbrand <david@redhat.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210707105324.23400-8-acho@suse.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/crypto_helper.c')
-rw-r--r-- | target/s390x/crypto_helper.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/target/s390x/crypto_helper.c b/target/s390x/crypto_helper.c deleted file mode 100644 index 138d9e7..0000000 --- a/target/s390x/crypto_helper.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * s390x crypto helpers - * - * Copyright (c) 2017 Red Hat Inc - * - * Authors: - * David Hildenbrand <david@redhat.com> - * - * This work is licensed under the terms of the GNU GPL, version 2 or later. - * See the COPYING file in the top-level directory. - */ - -#include "qemu/osdep.h" -#include "qemu/main-loop.h" -#include "s390x-internal.h" -#include "tcg_s390x.h" -#include "exec/helper-proto.h" -#include "exec/exec-all.h" -#include "exec/cpu_ldst.h" - -uint32_t HELPER(msa)(CPUS390XState *env, uint32_t r1, uint32_t r2, uint32_t r3, - uint32_t type) -{ - const uintptr_t ra = GETPC(); - const uint8_t mod = env->regs[0] & 0x80ULL; - const uint8_t fc = env->regs[0] & 0x7fULL; - uint8_t subfunc[16] = { 0 }; - uint64_t param_addr; - int i; - - switch (type) { - case S390_FEAT_TYPE_KMAC: - case S390_FEAT_TYPE_KIMD: - case S390_FEAT_TYPE_KLMD: - case S390_FEAT_TYPE_PCKMO: - case S390_FEAT_TYPE_PCC: - if (mod) { - tcg_s390_program_interrupt(env, PGM_SPECIFICATION, ra); - } - break; - } - - s390_get_feat_block(type, subfunc); - if (!test_be_bit(fc, subfunc)) { - tcg_s390_program_interrupt(env, PGM_SPECIFICATION, ra); - } - - switch (fc) { - case 0: /* query subfunction */ - for (i = 0; i < 16; i++) { - param_addr = wrap_address(env, env->regs[1] + i); - cpu_stb_data_ra(env, param_addr, subfunc[i], ra); - } - break; - default: - /* we don't implement any other subfunction yet */ - g_assert_not_reached(); - } - - return 0; -} |