aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/crypto/poly1305-x86_64.S (follow)
Commit message (Collapse)AuthorAgeFilesLines
* poly1305: give linker the correct constant data section sizeJason A. Donenfeld2018-06-221-1/+1
| | | | | | Otherwise these constants will be merged wrong or excluded, and we'll wind up with wrong calculations. While bfd (the normal kernel linker) doesn't seem to mind, recent versions of gold do bad things.
* poly1305: do not place constants in different sectionsJason A. Donenfeld2018-04-181-14/+1
| | | | | | | We're referencing these constants as one contiguous blob, so if there's any merging that goes on with other constants elsewhere (such as the kernel's current poly1305 implementation that we hope to replace), then these will be reordered and have the wrong values.
* global: year bumpJason A. Donenfeld2018-01-031-1/+1
|
* poly1305: fix avx512f alignment bugSamuel Neves2017-12-111-1/+1
| | | | Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
* global: add SPDX tags to all filesGreg Kroah-Hartman2017-12-091-30/+4
| | | | | | | | | | | | | It's good to have SPDX identifiers in all files as the Linux kernel developers are working to add these identifiers to all files. Update all files with the correct SPDX license identifier based on the license text of the project or based on the license in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Modified-by: Jason A. Donenfeld <Jason@zx2c4.com>
* poly1305: update x86-64 kernel to AVX512F onlySamuel Neves2017-12-031-132/+131
| | | | Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
* poly1305-x86_64: unclobber %rbpSamuel Neves2017-11-221-131/+145
| | | | | | | | | | | | | | OpenSSL's Poly1305 kernels use %rbp as a scratch register. However, the kernel expects rbp to be a valid frame pointer at any given time in order to do proper unwinding. Thus we need to alter the code in order to preserve it. The most straightforward manner in which this was accomplished was by replacing $d3 in poly1305-x86_64.pl -- formerly %r10 -- by %rdi, and replace %rbp by %r10. Because %rdi, a pointer to the context structure, does not change and is not used by poly1305_iteration, it is safe to use it here, and the overhead of saving and restoring it should be minimal. Signed-off-by: Samuel Neves <sneves@dei.uc.pt>
* chacha20poly1305: import ARM primitives from OpenSSLJason A. Donenfeld2017-11-221-1/+3
| | | | ARMv4-ARMv8, with NEON for ARMv7 and ARMv8.
* chacha20poly1305: import x86_64 primitives from OpenSSLSamuel Neves2017-11-221-0/+2814
x86_64 only at the moment. SSSE3, AVX, AVX2, AVX512. Signed-off-by: Samuel Neves <sneves@dei.uc.pt>