[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 1/2] target/s390x: support SHA-512 extensions
From: |
Jason A. Donenfeld |
Subject: |
Re: [PATCH v7 1/2] target/s390x: support SHA-512 extensions |
Date: |
Mon, 29 Aug 2022 12:27:22 -0400 |
On Fri, Aug 26, 2022 at 12:21:36PM +0200, Thomas Huth wrote:
> > + * Copyright (C) 2022 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights
> > Reserved.
>
> Please drop the "All rights reserved" ... it does not have any legal meaning
No.
> > +{
> > + enum { MAX_BLOCKS_PER_RUN = 64 }; /* This is arbitrary, just to keep
> > interactivity. */
> > + uint64_t z[8], b[8], a[8], w[16], t;
> > + uint64_t message = message_reg ? *message_reg : 0, len = *len_reg,
> > processed = 0;
>
> The line is very long, could you please declare message and len on separate
> lines?
Will do.
>
> > + int i, j, message_reg_len = 64, blocks = 0, cc = 0;
> > +
> > + if (!(env->psw.mask & PSW_MASK_64)) {
> > + len = (uint32_t)len;
> > + message_reg_len = (env->psw.mask & PSW_MASK_32) ? 32 : 24;
> > + }
> > +
> > + for (i = 0; i < 8; ++i) {
> > + z[i] = a[i] = cpu_ldq_be_data_ra(env, wrap_address(env,
> > parameter_block + 8 * i), ra);
>
> Quite a long line again, maybe split it like this:
>
> abi_ptr addr = wrap_address(env, parameter_block + 8 * i);
> z[i] = a[i] = cpu_ldq_be_data_ra(env, addr, ra);
Sure.
>
> > + }
> > +
> > + while (len >= 128) {
> > + if (++blocks > MAX_BLOCKS_PER_RUN) {
> > + cc = 3;
> > + break;
> > + }
> > +
> > + for (i = 0; i < 16; ++i) {
> > + if (message) {
> > + w[i] = cpu_ldq_be_data_ra(env, wrap_address(env, message +
> > 8 * i), ra);
>
> Long line again, please split.
Okay.
> > cpu_stb_data_ra(env, param_addr, subfunc[i], ra);
>
> So for KIMD and KLMD, I think we now have to set the bit that corresponds to
> SHA-512 in the query status information, too? Otherwise the guest might not
> use the function if it thinks that it is not available?
That's already taken care of generically I think. This works fine from
Linux's autodetection.
Jason
- [PATCH 2/2] target/s390x: support SHA-512 extensions, (continued)
- [PATCH 2/2] target/s390x: support SHA-512 extensions, Jason A. Donenfeld, 2022/08/03
- [PATCH v6 1/2] target/s390x: support PRNO_TRNG instruction, Jason A. Donenfeld, 2022/08/03
- [PATCH v6 2/2] target/s390x: support SHA-512 extensions, Jason A. Donenfeld, 2022/08/03
- Re: [PATCH v6 2/2] target/s390x: support SHA-512 extensions, David Hildenbrand, 2022/08/05
- Re: [PATCH v6 2/2] target/s390x: support SHA-512 extensions, Jason A. Donenfeld, 2022/08/05
- [PATCH v7 1/2] target/s390x: support SHA-512 extensions, Jason A. Donenfeld, 2022/08/09
- [PATCH v7 2/2] target/s390x: support PRNO_TRNG instruction, Jason A. Donenfeld, 2022/08/09
- Re: [PATCH v7 2/2] target/s390x: support PRNO_TRNG instruction, Thomas Huth, 2022/08/26
- Re: [PATCH v7 2/2] target/s390x: support PRNO_TRNG instruction, Jason A. Donenfeld, 2022/08/29
- Re: [PATCH v7 1/2] target/s390x: support SHA-512 extensions, Thomas Huth, 2022/08/26
- Re: [PATCH v7 1/2] target/s390x: support SHA-512 extensions,
Jason A. Donenfeld <=
- Re: [PATCH v6 2/2] target/s390x: support SHA-512 extensions, David Hildenbrand, 2022/08/11
- Re: [PATCH v4 2/2] target/s390x: support SHA-512 extensions, Harald Freudenberger, 2022/08/04
- Re: [PATCH v4 2/2] target/s390x: support SHA-512 extensions, Christian Borntraeger, 2022/08/04
- Re: [PATCH v4 2/2] target/s390x: support SHA-512 extensions, Jason A. Donenfeld, 2022/08/04
- Re: [PATCH v4 2/2] target/s390x: support SHA-512 extensions, David Hildenbrand, 2022/08/04
- Re: [PATCH v4 2/2] target/s390x: support SHA-512 extensions, Jason A. Donenfeld, 2022/08/04
Re: [PATCH v3] target/s390x: support PRNO_TRNG instruction, Jason A. Donenfeld, 2022/08/02