Hi Eric, first of all: happy New Year! ANd thanks for the series.
On 05/01/2026 06:12, Eric Biggers wrote: > Implement aes_preparekey_arch(), aes_encrypt_arch(), and > aes_decrypt_arch() using the CPACF AES instructions. I'm not sure, it it makes sense to implement this on s390 at all. The CPACF instructions cover full modes of operations and are optimized to process more than one cipher-block-size (*). For single-block operations, the performance might be worth than using the generic functions. I will look into it and do some performance tests. If there is a possibility to plug-in to the level where the modes of operation are implemented, it would make much more sense for s390. (*) Yes, it's a bit uncommon, but the CPACF instructions on s390 can process multiple block with a single instruction call! They are so called long running instructions. > Then, remove the superseded "aes-s390" crypto_cipher. > > The result is that both the AES library and crypto_cipher APIs use the > CPACF AES instructions, whereas previously only crypto_cipher did (and it > wasn't enabled by default, which this commit fixes as well). > > Note that this preserves the optimization where the AES key is stored in > raw form rather than expanded form. CPACF just takes the raw key. > > Signed-off-by: Eric Biggers <[email protected]> --- arch/s390/crypto/ -- Mit freundlichen Grüßen / Kind regards Holger Dengler -- IBM Systems, Linux on IBM Z Development [email protected]
