aboutsummaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/crypto/chacha20/chacha_s390x.go
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2020-01-14 15:34:15 -0700
committerJhon Honce <jhonce@redhat.com>2020-01-15 09:13:45 -0700
commit89678ab0edb0429adc515b7abfedb69db7323bde (patch)
tree58eb1065d53f5d90a6cb4185d9b0b960f8316907 /vendor/golang.org/x/crypto/chacha20/chacha_s390x.go
parentad5137bc7b346ef2e28eb85c872728b6748bc629 (diff)
downloadpodman-89678ab0edb0429adc515b7abfedb69db7323bde.tar.gz
podman-89678ab0edb0429adc515b7abfedb69db7323bde.tar.bz2
podman-89678ab0edb0429adc515b7abfedb69db7323bde.zip
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 <jhonce@redhat.com>
Diffstat (limited to 'vendor/golang.org/x/crypto/chacha20/chacha_s390x.go')
-rw-r--r--vendor/golang.org/x/crypto/chacha20/chacha_s390x.go26
1 files changed, 26 insertions, 0 deletions
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)
+ }
+}