mbox series

[v1,0/8] s390x/tcg: Implement some z14 facilities

Message ID 20200922103129.12824-1-david@redhat.com
Headers show
Series s390x/tcg: Implement some z14 facilities | expand

Message

David Hildenbrand Sept. 22, 2020, 10:31 a.m. UTC
With this patchset, I can boot a kernel compiled for z14 (requiring
Miscellaneous-Instruction-Extensions Facility 2) (using -cpu max).

I am currently working on "vector-enhancements facility 1", I have most
stuff in place except:
- VECTOR FP (MAXIMUM|MINIMUM): needs some manual work to cover all types of
                               comparisons.
- VECTOR FP (NEGATIVE) MULTIPLY AND (ADD|SUBTRACT): needs float128_muladd()

Once we have that in place, we can convert the QEMU machine to a
stripped-down z14.

David Hildenbrand (8):
  s390x/tcg: Implement ADD HALFWORD (AGH)
  s390x/tcg: Implement SUBTRACT HALFWORD (SGH)
  s390x/tcg: Implement MULTIPLY (MG, MGRK)
  s390x/tcg: Implement MULTIPLY HALFWORD (MGH)
  s390x/tcg: Implement BRANCH INDIRECT ON CONDITION (BIC)
  s390x/tcg: Implement MULTIPLY SINGLE (MSC, MSGC, MSGRKC, MSRKC)
  s390x/tcg: We support Miscellaneous-Instruction-Extensions Facility 2
  s390x/tcg: Implement CIPHER MESSAGE WITH AUTHENTICATION (KMA)

 target/s390x/cc_helper.c    | 34 ++++++++++++++++++++++++++++
 target/s390x/gen-features.c |  2 ++
 target/s390x/helper.c       |  2 ++
 target/s390x/insn-data.def  | 12 ++++++++++
 target/s390x/internal.h     |  2 ++
 target/s390x/translate.c    | 45 +++++++++++++++++++++++++++++++++++++
 6 files changed, 97 insertions(+)

Comments

no-reply@patchew.org Sept. 22, 2020, 3:41 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20200922103129.12824-1-david@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20200922103129.12824-1-david@redhat.com
Subject: [PATCH v1 0/8] s390x/tcg: Implement some z14 facilities

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
4a710cb s390x/tcg: Implement CIPHER MESSAGE WITH AUTHENTICATION (KMA)
67c8e40 s390x/tcg: We support Miscellaneous-Instruction-Extensions Facility 2
e867c7b s390x/tcg: Implement MULTIPLY SINGLE (MSC, MSGC, MSGRKC, MSRKC)
2af9b83 s390x/tcg: Implement BRANCH INDIRECT ON CONDITION (BIC)
656cf89 s390x/tcg: Implement MULTIPLY HALFWORD (MGH)
6262d2e s390x/tcg: Implement MULTIPLY (MG, MGRK)
3aba4e2 s390x/tcg: Implement SUBTRACT HALFWORD (SGH)
c69a385 s390x/tcg: Implement ADD HALFWORD (AGH)

=== OUTPUT BEGIN ===
1/8 Checking commit c69a385d838c (s390x/tcg: Implement ADD HALFWORD (AGH))
ERROR: line over 90 characters
#32: FILE: target/s390x/translate.c:6101:
+#define FAC_MIE2        S390_FEAT_MISC_INSTRUCTION_EXT /* miscellaneous-instruction-extensions facility 2 */

total: 1 errors, 0 warnings, 14 lines checked

Patch 1/8 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

2/8 Checking commit 3aba4e25e456 (s390x/tcg: Implement SUBTRACT HALFWORD (SGH))
3/8 Checking commit 6262d2edc76d (s390x/tcg: Implement MULTIPLY (MG, MGRK))
4/8 Checking commit 656cf89d2355 (s390x/tcg: Implement MULTIPLY HALFWORD (MGH))
5/8 Checking commit 2af9b83b61be (s390x/tcg: Implement BRANCH INDIRECT ON CONDITION (BIC))
6/8 Checking commit e867c7b42400 (s390x/tcg: Implement MULTIPLY SINGLE (MSC, MSGC, MSGRKC, MSRKC))
7/8 Checking commit 67c8e4024fd0 (s390x/tcg: We support Miscellaneous-Instruction-Extensions Facility 2)
8/8 Checking commit 4a710cb58f52 (s390x/tcg: Implement CIPHER MESSAGE WITH AUTHENTICATION (KMA))
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200922103129.12824-1-david@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Richard Henderson Sept. 25, 2020, 10:43 p.m. UTC | #2
On 9/22/20 3:31 AM, David Hildenbrand wrote:
> With this patchset, I can boot a kernel compiled for z14 (requiring

> Miscellaneous-Instruction-Extensions Facility 2) (using -cpu max).


Excellent.

Looks like it wouldn't take too much additional work for z15, if you're of a
mind while we're at it.

Message-Security-Assist 9:
	KDSA to ignore, like KMA.

Miscellaneous-Instruction-Extensions 3:
	A bunch of logical operations, all of which
	already have tcg primitives.

	SELECT, which can re-use op_loc with different inputs.

	MOVE RIGHT TO LEFT, which can't reuse do_helper_mvc
	directly, but could be a copy with trivial changes.

	Trivial changes to op_popcnt.

Vector-Enhancements 2:
	Mostly load/store byte-reversed.
	New vector shift insns.
	FP/Int conversions.
	Vector string search.


r~
David Hildenbrand Sept. 28, 2020, 11:54 a.m. UTC | #3
On 26.09.20 00:43, Richard Henderson wrote:
> On 9/22/20 3:31 AM, David Hildenbrand wrote:

>> With this patchset, I can boot a kernel compiled for z14 (requiring

>> Miscellaneous-Instruction-Extensions Facility 2) (using -cpu max).

> 

> Excellent.

> 

> Looks like it wouldn't take too much additional work for z15, if you're of a

> mind while we're at it.


Yes, on my todo list (however might take some time until I get to it).
I'm focusing on z14 right now because next-gen distributions will most
probably require at least z14 hw, so we're prepared for that.

I'm still wrapping my head around how to best implement the crazy VECTOR
FP MINIMUM / MAXIMUM stuff in the least ugly way (expressing all cases
via if/else/switch is just horribly error-prone).


-- 
Thanks,

David / dhildenb