aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/crypto_helper.c
diff options
context:
space:
mode:
authorCho, Yu-Chen <acho@suse.com>2021-07-07 18:53:17 +0800
committerCornelia Huck <cohuck@redhat.com>2021-07-07 14:01:56 +0200
commitc9274b6bf0571ecbaaed3e9c3b229e17607a0ea2 (patch)
treeed9756bc3e44ba8db0e02bc9975347f6b898f1c1 /target/s390x/crypto_helper.c
parentb6b4722307f31491ee553c674ded2a8bba6173e1 (diff)
downloadqemu-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.c61
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;
-}