On Tue, Sep 21, 2021 at 02:59:37PM -0700, Eric Biggers wrote: > On Tue, Sep 21, 2021 at 11:39:26PM +0200, Emmanuel Gil Peyrot wrote: > > This engine implements AES in CBC mode, using 128-bit keys only. It is > > present on both the Wii and the Wii U, and is apparently identical in > > both consoles. > > > > The hardware is capable of firing an interrupt when the operation is > > done, but this driver currently uses a busy loop, I’m not too sure > > whether it would be preferable to switch, nor how to achieve that. > > > > It also supports a mode where no operation is done, and thus could be > > used as a DMA copy engine, but I don’t know how to expose that to the > > kernel or whether it would even be useful. > > > > In my testing, on a Wii U, this driver reaches 80.7 MiB/s, while the > > aes-generic driver only reaches 30.9 MiB/s, so it is a quite welcome > > speedup. > > > > This driver was written based on reversed documentation, see: > > https://wiibrew.org/wiki/Hardware/AES > > > > Emmanuel Gil Peyrot (4): > > crypto: nintendo-aes - add a new AES driver > > dt-bindings: nintendo-aes: Document the Wii and Wii U AES support > > powerpc: wii.dts: Expose the AES engine on this platform > > powerpc: wii_defconfig: Enable AES by default > > Does this pass the self-tests, including the fuzz tests which are enabled by > CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y? I wasn’t aware of those, and indeed it doesn’t pass them yet: [ 0.680164] alg: skcipher: cbc-aes-nintendo encryption overran dst buffer on test vector 0, cfg="out-of-place" [ 0.680201] fbcon: Taking over console [ 0.680219] ------------[ cut here ]------------ [ 0.680222] alg: self-tests for cbc-aes-nintendo (cbc(aes)) failed (rc=-75) I’ll try to figure out how to debug this and I’ll send a v2, thanks for the hint! > > - Eric -- Emmanuel Gil Peyrot
Attachment:
signature.asc
Description: PGP signature