OpenCrypto: Convert sessions to opaque handles instead of integersTrack session objects in the framework, and pass handles between theframework (OCF), consumers, and drivers. Avoid redundancy and
OpenCrypto: Convert sessions to opaque handles instead of integersTrack session objects in the framework, and pass handles between theframework (OCF), consumers, and drivers. Avoid redundancy and complexity inindividual drivers by allocating session memory in the framework andproviding it to drivers in ::newsession().Session handles are no longer integers with information encoded in varioushigh bits. Use of the CRYPTO_SESID2FOO() macros should be replaced with theappropriate crypto_ses2foo() function on the opaque session handle.Convert OCF drivers (in particular, cryptosoft, as well as myriad others) tothe opaque handle interface. Discard existing session tracking as much aspossible (quick pass). There may be additional code ripe for deletion.Convert OCF consumers (ipsec, geom_eli, krb5, cryptodev) to handle-styleinterface. The conversion is largely mechnical.The change is documented in crypto.9.Inspired byhttps://lists.freebsd.org/pipermail/freebsd-arch/2018-January/018835.html .No objection from: ae (ipsec portion)Reported by: jhb
show more ...
Create an empty stdint.h for arm_neon.h to include.The armv8crypto module includes arm_neon.h for the compiler intrinsicfunctions. This includes the userland stdint.h file that doesn't exist inth
Create an empty stdint.h for arm_neon.h to include.The armv8crypto module includes arm_neon.h for the compiler intrinsicfunctions. This includes the userland stdint.h file that doesn't exist inthe kernel. Fix this by providing an empty stdint.h to be used when weinclude arm_neon.h.Sponsored by: DARPA, AFRLDifferential Revision: https://reviews.freebsd.org/D16254
Remove unused error return from API that cannot failNo implementation of fpu_kern_enter() can fail, and it was causing needlesserror checking boilerplate and confusion. Change the return code to v
Remove unused error return from API that cannot failNo implementation of fpu_kern_enter() can fail, and it was causing needlesserror checking boilerplate and confusion. Change the return code to void tomatch reality.(This trivial change took nine days to land because of the commit hook onsys/dev/random. Please consider removing the hook or otherwise lowering thebar -- secteam never seems to have free time to review patches.)Reported by: Lachlan McIlroy <Lachlan.McIlroy AT isilon.com>Reviewed by: delphijApproved by: secteam (delphij)Sponsored by: Dell EMC IsilonDifferential Revision: https://reviews.freebsd.org/D14380
Add accelerated AES with using the ARMv8 crypto instructions. This is basedon the AES-NI code, and modified as needed for use on ARMv8. When loadedthe driver will check the appropriate field in the
Add accelerated AES with using the ARMv8 crypto instructions. This is basedon the AES-NI code, and modified as needed for use on ARMv8. When loadedthe driver will check the appropriate field in the id_aa64isar0_el1register to see if AES is supported, and if so the probe function willsignal the driver should attach.With this I have seen up to 2000Mb/s from the cryptotest test with a singlethread on a ThunderX Pass 2.0.Reviewed by: impObtained from: ABT Systems LtdMFC after: 1 weekSponsored by: The FreeBSD FoundationDifferential Revision: https://reviews.freebsd.org/D8297