From 89678ab0edb0429adc515b7abfedb69db7323bde Mon Sep 17 00:00:00 2001 From: Jhon Honce Date: Tue, 14 Jan 2020 15:34:15 -0700 Subject: Add APIv2 CLI example POC * Add ReadMe, CLI and unit files to support socket activation, both for system and rootless Signed-off-by: Jhon Honce --- .../golang.org/x/crypto/chacha20/chacha_s390x.go | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 vendor/golang.org/x/crypto/chacha20/chacha_s390x.go (limited to 'vendor/golang.org/x/crypto/chacha20/chacha_s390x.go') diff --git a/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go b/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go new file mode 100644 index 000000000..cd55f45a3 --- /dev/null +++ b/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go @@ -0,0 +1,26 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !gccgo,!appengine + +package chacha20 + +import "golang.org/x/sys/cpu" + +var haveAsm = cpu.S390X.HasVX + +const bufSize = 256 + +// xorKeyStreamVX is an assembly implementation of XORKeyStream. It must only +// be called when the vector facility is available. Implementation in asm_s390x.s. +//go:noescape +func xorKeyStreamVX(dst, src []byte, key *[8]uint32, nonce *[3]uint32, counter *uint32) + +func (c *Cipher) xorKeyStreamBlocks(dst, src []byte) { + if cpu.S390X.HasVX { + xorKeyStreamVX(dst, src, &c.key, &c.nonce, &c.counter) + } else { + c.xorKeyStreamBlocksGeneric(dst, src) + } +} -- cgit v1.2.3-54-g00ecf