devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Anand Moon <linux.amoon@gmail.com>
To: Neil Armstrong <narmstrong@baylibre.com>
Cc: Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Corentin Labbe <clabbe@baylibre.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S . Miller" <davem@davemloft.net>,
	devicetree <devicetree@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	linux-amlogic@lists.infradead.org,
	Linux Kernel <linux-kernel@vger.kernel.org>,
	linux-crypto@vger.kernel.org
Subject: Re: [PATCHv1 0/3] Enable crypto module on Amlogic GXBB SoC platform
Date: Wed, 11 Dec 2019 15:07:53 +0530	[thread overview]
Message-ID: <CANAwSgQOTA0mSvFW5otaCzFPHidhY7VFcrXZHjCD-1XkQpcx3w@mail.gmail.com> (raw)
In-Reply-To: <a4610efc-844a-2d43-5db1-cf813102e701@baylibre.com>

[-- Attachment #1: Type: text/plain, Size: 3179 bytes --]

Hi Neil,

On Wed, 11 Dec 2019 at 14:23, Neil Armstrong <narmstrong@baylibre.com> wrote:
>
> hi,
>
>
> On 11/12/2019 09:41, Anand Moon wrote:
> > Below changes enable cryto module on Amlogic GXBB SoC.
> >
> > I was realy happy to get this feature working on Odroid C2 SBC.
> > I will try on other SBC in the future.
> >
> > Tested with loading tcrypt module.
> > # sudo modprobe tcrypt sec=1 mode=200
> > [sudo] password for alarm:
> > [  903.867059] tcrypt:
> > [  903.867059] testing speed of async ecb(aes) (ecb(aes-arm64)) encryption
> > [  903.870265] tcrypt: test 0 (128 bit key, 16 byte blocks): 1922107 operations in 1 seconds (30753712 bytes)
> > [  904.872802] tcrypt: test 1 (128 bit key, 64 byte blocks): 679032 operations in 1 seconds (43458048 bytes)
> > [  905.872717] tcrypt: test 2 (128 bit key, 256 byte blocks): 190190 operations in 1 seconds (48688640 bytes)
> > [  906.872793] tcrypt: test 3 (128 bit key, 1024 byte blocks): 49014 operations in 1 seconds (50190336 bytes)
> > [  907.872808] tcrypt: test 4 (128 bit key, 1472 byte blocks): 34342 operations in 1 seconds (50551424 bytes)
> > [  908.876828] tcrypt: test 5 (128 bit key, 8192 byte blocks): 6199 operations in 1 seconds (50782208 bytes)
> >
> > -Anand
> >
> > Anand Moon (3):
> >   arm64: dts: amlogic: adds crypto hardware node for GXBB SoCs
> >   dt-bindings: crypto: Add compatible string for amlogic GXBB SoC
> >   crypto: amlogic: Add new compatible string for amlogic GXBB SoC
> >
> >  .../devicetree/bindings/crypto/amlogic,gxl-crypto.yaml |  1 +
> >  arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi            | 10 ++++++++++
> >  drivers/crypto/amlogic/amlogic-gxl-core.c              |  1 +
> >  3 files changed, 12 insertions(+)
> >
>
> Wow, I'm surprised it works on GXBB, Amlogic completely removed HW crypto for GXBB in all their
> vendor BSPs, in Linux, U-Boot and ATF chain.

Sorry I was not aware of this. :$

>
> Could you run more tests to be sure it's really functional ?
>
> Neil

From the public datasheet for Odroid C2 [0] S905_Public_Datasheet_V1.1.4.pdf
Chapter 27.1 : "crypto engine is one encrypt/decrypt function accelerator"

AES block cipher with 128/192/256 Bits keys, standard 16 bytes block
size and streaming ECB, CBC and CTR modes
DES/TDES block cipher with ECB and CBC modes supporting 64 Bits key
for DES and 192 Bits key for 3DES
Hardware key-ladder operation and DVB-CSA for transport stream encryption
Built-in hardware True Random Number Generator (TRNG), CRC and
SHA-1/SHA-2 (SHA-224/SHA-256) engine

But in my testing I did not see any count increment in /proc/interrupts

 32:          0          0          0          0     GICv2 201 Level     ppmmu2
 33:          0          0          0          0     GICv2  35 Edge      meson
 34:          0          0          0          0     GICv2  89 Edge
  dw_hdmi_top_irq, c883a000.hdmi-tx
 35:          0          0          0          0     GICv2 220 Edge
  gxl-crypto
 36:          0          0          0          0     GICv2 221 Edge
  gxl-crypto

[0] https://dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf

Attach is the some testing. *But not sure this is Hardware Accelerated.* :<

-Anand

[-- Attachment #2: crypto_odroidc2.txt --]
[-- Type: text/plain, Size: 35848 bytes --]

# sudo modprobe tcrypt sec=1 mode=200
[sudo] password for alarm:
[  384.901049] tcrypt:
[  384.901049] testing speed of async ecb(aes) (ecb(aes-arm64)) encryption
[  384.904181] tcrypt: test 0 (128 bit key, 16 byte blocks): 1877504 operations in 1 seconds (30040064 bytes)
[  385.904322] tcrypt: test 1 (128 bit key, 64 byte blocks): 667190 operations in 1 seconds (42700160 bytes)
[  386.908223] tcrypt: test 2 (128 bit key, 256 byte blocks): 186089 operations in 1 seconds (47638784 bytes)
[  387.908341] tcrypt: test 3 (128 bit key, 1024 byte blocks): 48142 operations in 1 seconds (49297408 bytes)
[  388.912326] tcrypt: test 4 (128 bit key, 1472 byte blocks): 33605 operations in 1 seconds (49466560 bytes)
[  389.916322] tcrypt: test 5 (128 bit key, 8192 byte blocks): 6075 operations in 1 seconds (49766400 bytes)
[  390.920350] tcrypt: test 6 (192 bit key, 16 byte blocks): 1681618 operations in 1 seconds (26905888 bytes)
[  391.924306] tcrypt: test 7 (192 bit key, 64 byte blocks): 572487 operations in 1 seconds (36639168 bytes)
[  392.924229] tcrypt: test 8 (192 bit key, 256 byte blocks): 158200 operations in 1 seconds (40499200 bytes)
[  393.924325] tcrypt: test 9 (192 bit key, 1024 byte blocks): 40774 operations in 1 seconds (41752576 bytes)
[  394.928323] tcrypt: test 10 (192 bit key, 1472 byte blocks): 28442 operations in 1 seconds (41866624 bytes)
[  395.932438] tcrypt: test 11 (192 bit key, 8192 byte blocks): 5110 operations in 1 seconds (41861120 bytes)
[  396.936356] tcrypt: test 12 (256 bit key, 16 byte blocks): 1544471 operations in 1 seconds (24711536 bytes)
[  397.940415] tcrypt: test 13 (256 bit key, 64 byte blocks): 508196 operations in 1 seconds (32524544 bytes)
[  398.944314] tcrypt: test 14 (256 bit key, 256 byte blocks): 138350 operations in 1 seconds (35417600 bytes)
[  399.948417] tcrypt: test 15 (256 bit key, 1024 byte blocks): 35362 operations in 1 seconds (36210688 bytes)
[  400.952430] tcrypt: test 16 (256 bit key, 1472 byte blocks): 24655 operations in 1 seconds (36292160 bytes)
[  401.956447] tcrypt: test 17 (256 bit key, 8192 byte blocks): 4453 operations in 1 seconds (36478976 bytes)
[  402.960408] tcrypt:
[  402.960408] testing speed of async ecb(aes) (ecb(aes-arm64)) decryption
[  402.969098] tcrypt: test 0 (128 bit key, 16 byte blocks): 1890540 operations in 1 seconds (30248640 bytes)
[  403.972318] tcrypt: test 1 (128 bit key, 64 byte blocks): 679436 operations in 1 seconds (43483904 bytes)
[  404.976233] tcrypt: test 2 (128 bit key, 256 byte blocks): 190826 operations in 1 seconds (48851456 bytes)
[  405.976319] tcrypt: test 3 (128 bit key, 1024 byte blocks): 49490 operations in 1 seconds (50677760 bytes)
[  406.980341] tcrypt: test 4 (128 bit key, 1472 byte blocks): 34562 operations in 1 seconds (50875264 bytes)
[  407.984339] tcrypt: test 5 (128 bit key, 8192 byte blocks): 6224 operations in 1 seconds (50987008 bytes)
[  408.988289] tcrypt: test 6 (192 bit key, 16 byte blocks): 1717604 operations in 1 seconds (27481664 bytes)
[  409.988314] tcrypt: test 7 (192 bit key, 64 byte blocks): 594595 operations in 1 seconds (38054080 bytes)
[  410.988236] tcrypt: test 8 (192 bit key, 256 byte blocks): 165116 operations in 1 seconds (42269696 bytes)
[  411.988338] tcrypt: test 9 (192 bit key, 1024 byte blocks): 42620 operations in 1 seconds (43642880 bytes)
[  412.992339] tcrypt: test 10 (192 bit key, 1472 byte blocks): 29735 operations in 1 seconds (43769920 bytes)
[  413.996418] tcrypt: test 11 (192 bit key, 8192 byte blocks): 5341 operations in 1 seconds (43753472 bytes)
[  415.000385] tcrypt: test 12 (256 bit key, 16 byte blocks): 1583219 operations in 1 seconds (25331504 bytes)
[  416.004412] tcrypt: test 13 (256 bit key, 64 byte blocks): 526675 operations in 1 seconds (33707200 bytes)
[  417.008337] tcrypt: test 14 (256 bit key, 256 byte blocks): 143999 operations in 1 seconds (36863744 bytes)
[  418.012424] tcrypt: test 15 (256 bit key, 1024 byte blocks): 36859 operations in 1 seconds (37743616 bytes)
[  419.016425] tcrypt: test 16 (256 bit key, 1472 byte blocks): 25704 operations in 1 seconds (37836288 bytes)
[  420.020444] tcrypt: test 17 (256 bit key, 8192 byte blocks): 4635 operations in 1 seconds (37969920 bytes)
[  421.036729] tcrypt:
[  421.036729] testing speed of async cbc(aes) (cbc(aes-arm64)) encryption
[  421.039861] tcrypt: test 0 (128 bit key, 16 byte blocks): 1784200 operations in 1 seconds (28547200 bytes)
[  422.040331] tcrypt: test 1 (128 bit key, 64 byte blocks): 625414 operations in 1 seconds (40026496 bytes)
[  423.044246] tcrypt: test 2 (128 bit key, 256 byte blocks): 173953 operations in 1 seconds (44531968 bytes)
[  424.044348] tcrypt: test 3 (128 bit key, 1024 byte blocks): 44977 operations in 1 seconds (46056448 bytes)
[  425.048334] tcrypt: test 4 (128 bit key, 1472 byte blocks): 31386 operations in 1 seconds (46200192 bytes)
[  426.052346] tcrypt: test 5 (128 bit key, 8192 byte blocks): 5664 operations in 1 seconds (46399488 bytes)
[  427.056395] tcrypt: test 6 (192 bit key, 16 byte blocks): 1612521 operations in 1 seconds (25800336 bytes)
[  428.060330] tcrypt: test 7 (192 bit key, 64 byte blocks): 542315 operations in 1 seconds (34708160 bytes)
[  429.060253] tcrypt: test 8 (192 bit key, 256 byte blocks): 149436 operations in 1 seconds (38255616 bytes)
[  430.060346] tcrypt: test 9 (192 bit key, 1024 byte blocks): 38477 operations in 1 seconds (39400448 bytes)
[  431.064346] tcrypt: test 10 (192 bit key, 1472 byte blocks): 26838 operations in 1 seconds (39505536 bytes)
[  432.068443] tcrypt: test 11 (192 bit key, 8192 byte blocks): 4818 operations in 1 seconds (39469056 bytes)
[  433.072385] tcrypt: test 12 (256 bit key, 16 byte blocks): 1480227 operations in 1 seconds (23683632 bytes)
[  434.076429] tcrypt: test 13 (256 bit key, 64 byte blocks): 483284 operations in 1 seconds (30930176 bytes)
[  435.080339] tcrypt: test 14 (256 bit key, 256 byte blocks): 131557 operations in 1 seconds (33678592 bytes)
[  436.084426] tcrypt: test 15 (256 bit key, 1024 byte blocks): 33620 operations in 1 seconds (34426880 bytes)
[  437.088434] tcrypt: test 16 (256 bit key, 1472 byte blocks): 23442 operations in 1 seconds (34506624 bytes)
[  438.092438] tcrypt: test 17 (256 bit key, 8192 byte blocks): 4227 operations in 1 seconds (34627584 bytes)
[  439.096564] tcrypt:
[  439.096564] testing speed of async cbc(aes) (cbc(aes-arm64)) decryption
[  439.105257] tcrypt: test 0 (128 bit key, 16 byte blocks): 1720992 operations in 1 seconds (27535872 bytes)
[  440.108343] tcrypt: test 1 (128 bit key, 64 byte blocks): 627860 operations in 1 seconds (40183040 bytes)
[  441.112259] tcrypt: test 2 (128 bit key, 256 byte blocks): 176810 operations in 1 seconds (45263360 bytes)
[  442.112360] tcrypt: test 3 (128 bit key, 1024 byte blocks): 45973 operations in 1 seconds (47076352 bytes)
[  443.116362] tcrypt: test 4 (128 bit key, 1472 byte blocks): 32147 operations in 1 seconds (47320384 bytes)
[  444.120381] tcrypt: test 5 (128 bit key, 8192 byte blocks): 5803 operations in 1 seconds (47538176 bytes)
[  445.124299] tcrypt: test 6 (192 bit key, 16 byte blocks): 1558792 operations in 1 seconds (24940672 bytes)
[  446.124360] tcrypt: test 7 (192 bit key, 64 byte blocks): 546578 operations in 1 seconds (34980992 bytes)
[  447.128265] tcrypt: test 8 (192 bit key, 256 byte blocks): 151914 operations in 1 seconds (38889984 bytes)
[  448.128357] tcrypt: test 9 (192 bit key, 1024 byte blocks): 39255 operations in 1 seconds (40197120 bytes)
[  449.132376] tcrypt: test 10 (192 bit key, 1472 byte blocks): 27396 operations in 1 seconds (40326912 bytes)
[  450.136438] tcrypt: test 11 (192 bit key, 8192 byte blocks): 4918 operations in 1 seconds (40288256 bytes)
[  451.140545] tcrypt: test 12 (256 bit key, 16 byte blocks): 1436091 operations in 1 seconds (22977456 bytes)
[  452.144443] tcrypt: test 13 (256 bit key, 64 byte blocks): 484903 operations in 1 seconds (31033792 bytes)
[  453.148351] tcrypt: test 14 (256 bit key, 256 byte blocks): 133471 operations in 1 seconds (34168576 bytes)
[  454.152444] tcrypt: test 15 (256 bit key, 1024 byte blocks): 34219 operations in 1 seconds (35040256 bytes)
[  455.156447] tcrypt: test 16 (256 bit key, 1472 byte blocks): 23861 operations in 1 seconds (35123392 bytes)
[  456.160492] tcrypt: test 17 (256 bit key, 8192 byte blocks): 4304 operations in 1 seconds (35258368 bytes)
[  457.176263] tcrypt: failed to load transform for lrw(aes): -2
[  457.188096] tcrypt: failed to load transform for lrw(aes): -2
[  457.200097] tcrypt: failed to load transform for xts(aes): -2
[  457.212102] tcrypt: failed to load transform for xts(aes): -2
[  457.224067] tcrypt: failed to load transform for cts(cbc(aes)): -2
[  457.236390] tcrypt: failed to load transform for cts(cbc(aes)): -2
[  457.236944] tcrypt:
[  457.236944] testing speed of async ctr(aes) (ctr-aes-neonbs) encryption
[  457.245668] tcrypt: test 0 (128 bit key, 16 byte blocks): 564743 operations in 1 seconds (9035888 bytes)
[  458.248185] tcrypt: test 1 (128 bit key, 64 byte blocks): 557690 operations in 1 seconds (35692160 bytes)
[  459.248274] tcrypt: test 2 (128 bit key, 256 byte blocks): 300277 operations in 1 seconds (76870912 bytes)
[  460.248355] tcrypt: test 3 (128 bit key, 1024 byte blocks): 81277 operations in 1 seconds (83227648 bytes)
[  461.252368] tcrypt: test 4 (128 bit key, 1472 byte blocks): 54691 operations in 1 seconds (80505152 bytes)
[  462.256378] tcrypt: test 5 (128 bit key, 8192 byte blocks): 10223 operations in 1 seconds (83746816 bytes)
[  463.260420] tcrypt: test 6 (192 bit key, 16 byte blocks): 490239 operations in 1 seconds (7843824 bytes)
[  464.264182] tcrypt: test 7 (192 bit key, 64 byte blocks): 483660 operations in 1 seconds (30954240 bytes)
[  465.264268] tcrypt: test 8 (192 bit key, 256 byte blocks): 257253 operations in 1 seconds (65856768 bytes)
[  466.264354] tcrypt: test 9 (192 bit key, 1024 byte blocks): 68568 operations in 1 seconds (70213632 bytes)
[  467.264369] tcrypt: test 10 (192 bit key, 1472 byte blocks): 46270 operations in 1 seconds (68109440 bytes)
[  468.268457] tcrypt: test 11 (192 bit key, 8192 byte blocks): 8647 operations in 1 seconds (70836224 bytes)
[  469.272409] tcrypt: test 12 (256 bit key, 16 byte blocks): 432474 operations in 1 seconds (6919584 bytes)
[  470.276272] tcrypt: test 13 (256 bit key, 64 byte blocks): 426459 operations in 1 seconds (27293376 bytes)
[  471.276374] tcrypt: test 14 (256 bit key, 256 byte blocks): 226683 operations in 1 seconds (58030848 bytes)
[  472.280463] tcrypt: test 15 (256 bit key, 1024 byte blocks): 59935 operations in 1 seconds (61373440 bytes)
[  473.284465] tcrypt: test 16 (256 bit key, 1472 byte blocks): 40300 operations in 1 seconds (59321600 bytes)
[  474.288465] tcrypt: test 17 (256 bit key, 8192 byte blocks): 7537 operations in 1 seconds (61743104 bytes)
[  475.292462] tcrypt:
[  475.292462] testing speed of async ctr(aes) (ctr-aes-neonbs) decryption
[  475.301157] tcrypt: test 0 (128 bit key, 16 byte blocks): 564970 operations in 1 seconds (9039520 bytes)
[  476.304200] tcrypt: test 1 (128 bit key, 64 byte blocks): 557619 operations in 1 seconds (35687616 bytes)
[  477.304276] tcrypt: test 2 (128 bit key, 256 byte blocks): 300072 operations in 1 seconds (76818432 bytes)
[  478.304377] tcrypt: test 3 (128 bit key, 1024 byte blocks): 81259 operations in 1 seconds (83209216 bytes)
[  479.308379] tcrypt: test 4 (128 bit key, 1472 byte blocks): 54690 operations in 1 seconds (80503680 bytes)
[  480.312380] tcrypt: test 5 (128 bit key, 8192 byte blocks): 10218 operations in 1 seconds (83705856 bytes)
[  481.316446] tcrypt: test 6 (192 bit key, 16 byte blocks): 490189 operations in 1 seconds (7843024 bytes)
[  482.320197] tcrypt: test 7 (192 bit key, 64 byte blocks): 483675 operations in 1 seconds (30955200 bytes)
[  483.320282] tcrypt: test 8 (192 bit key, 256 byte blocks): 257068 operations in 1 seconds (65809408 bytes)
[  484.320384] tcrypt: test 9 (192 bit key, 1024 byte blocks): 68848 operations in 1 seconds (70500352 bytes)
[  485.324370] tcrypt: test 10 (192 bit key, 1472 byte blocks): 46276 operations in 1 seconds (68118272 bytes)
[  486.328464] tcrypt: test 11 (192 bit key, 8192 byte blocks): 8647 operations in 1 seconds (70836224 bytes)
[  487.332484] tcrypt: test 12 (256 bit key, 16 byte blocks): 432371 operations in 1 seconds (6917936 bytes)
[  488.336290] tcrypt: test 13 (256 bit key, 64 byte blocks): 427577 operations in 1 seconds (27364928 bytes)
[  489.336384] tcrypt: test 14 (256 bit key, 256 byte blocks): 226940 operations in 1 seconds (58096640 bytes)
[  490.340475] tcrypt: test 15 (256 bit key, 1024 byte blocks): 60023 operations in 1 seconds (61463552 bytes)
[  491.344472] tcrypt: test 16 (256 bit key, 1472 byte blocks): 40299 operations in 1 seconds (59320128 bytes)
[  492.348464] tcrypt: test 17 (256 bit key, 8192 byte blocks): 7535 operations in 1 seconds (61726720 bytes)
[  493.364241] tcrypt: failed to load transform for cfb(aes): -2
[  493.376530] tcrypt: failed to load transform for cfb(aes): -2


[alarm@alarm ~]$ cat /proc/crypto
name         : cbc(aes)
driver       : cbc(aes-arm64)
module       : kernel
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : ecb(aes)
driver       : ecb(aes-arm64)
module       : kernel
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 0
chunksize    : 16
walksize     : 16

name         : xts(aes)
driver       : xts-aes-neonbs
module       : aes_neon_bs
priority     : 250
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 32
max keysize  : 64
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : ctr(aes)
driver       : ctr-aes-neonbs
module       : aes_neon_bs
priority     : 250
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 1
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : cbc(aes)
driver       : cbc-aes-neonbs
module       : aes_neon_bs
priority     : 250
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : ecb(aes)
driver       : ecb-aes-neonbs
module       : aes_neon_bs
priority     : 250
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 0
chunksize    : 16
walksize     : 16

name         : __xts(aes)
driver       : __xts-aes-neonbs
module       : aes_neon_bs
priority     : 250
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 32
max keysize  : 64
ivsize       : 16
chunksize    : 16
walksize     : 128

name         : ctr(aes)
driver       : ctr-aes-neonbs
module       : aes_neon_bs
priority     : 249
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : no
blocksize    : 1
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 128

name         : __ctr(aes)
driver       : __ctr-aes-neonbs
module       : aes_neon_bs
priority     : 250
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 1
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 128

name         : __cbc(aes)
driver       : __cbc-aes-neonbs
module       : aes_neon_bs
priority     : 250
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 128

name         : __ecb(aes)
driver       : __ecb-aes-neonbs
module       : aes_neon_bs
priority     : 250
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 0
chunksize    : 16
walksize     : 128

name         : essiv(cbc(aes),sha256)
driver       : essiv-cbc-aes-sha256-neon
module       : aes_neon_blk
priority     : 201
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : cts(cbc(aes))
driver       : cts-cbc-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : xts(aes)
driver       : xts-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 32
max keysize  : 64
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : ctr(aes)
driver       : ctr-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 1
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : cbc(aes)
driver       : cbc-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : ecb(aes)
driver       : ecb-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 0
chunksize    : 16
walksize     : 16

name         : cbcmac(aes)
driver       : cbcmac-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 1
digestsize   : 16

name         : xcbc(aes)
driver       : xcbc-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 16
digestsize   : 16

name         : cmac(aes)
driver       : cmac-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 16
digestsize   : 16

name         : __essiv(cbc(aes),sha256)
driver       : __essiv-cbc-aes-sha256-neon
module       : aes_neon_blk
priority     : 201
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : __cts(cbc(aes))
driver       : __cts-cbc-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 32

name         : __xts(aes)
driver       : __xts-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 32
max keysize  : 64
ivsize       : 16
chunksize    : 16
walksize     : 32

name         : ctr(aes)
driver       : ctr-aes-neon
module       : aes_neon_blk
priority     : 199
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : no
blocksize    : 1
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : __ctr(aes)
driver       : __ctr-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 1
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : __cbc(aes)
driver       : __cbc-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : __ecb(aes)
driver       : __ecb-aes-neon
module       : aes_neon_blk
priority     : 200
refcnt       : 1
selftest     : passed
internal     : yes
type         : skcipher
async        : no
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 0
chunksize    : 16
walksize     : 16

name         : crct10dif
driver       : crct10dif-arm64-neon
module       : crct10dif_ce
priority     : 100
refcnt       : 2
selftest     : passed
internal     : no
type         : shash
blocksize    : 1
digestsize   : 2

name         : ecb(aes)
driver       : ecb-aes-gxl
module       : kernel
priority     : 400
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 0
chunksize    : 16
walksize     : 16

name         : cbc(aes)
driver       : cbc-aes-gxl
module       : kernel
priority     : 400
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : yes
blocksize    : 16
min keysize  : 16
max keysize  : 32
ivsize       : 16
chunksize    : 16
walksize     : 16

name         : jitterentropy_rng
driver       : jitterentropy_rng
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : aes
driver       : aes-arm64
module       : kernel
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : cipher
blocksize    : 16
min keysize  : 16
max keysize  : 32

name         : sha224
driver       : sha224-arm64-neon
module       : kernel
priority     : 150
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 64
digestsize   : 28

name         : sha256
driver       : sha256-arm64-neon
module       : kernel
priority     : 150
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 64
digestsize   : 32

name         : sha224
driver       : sha224-arm64
module       : kernel
priority     : 125
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 64
digestsize   : 28

name         : sha256
driver       : sha256-arm64
module       : kernel
priority     : 125
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 64
digestsize   : 32

name         : ghash
driver       : ghash-neon
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 16
digestsize   : 16

name         : stdrng
driver       : drbg_nopr_hmac_sha256
module       : kernel
priority     : 207
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : stdrng
driver       : drbg_nopr_hmac_sha512
module       : kernel
priority     : 206
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : stdrng
driver       : drbg_nopr_hmac_sha384
module       : kernel
priority     : 205
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : stdrng
driver       : drbg_nopr_hmac_sha1
module       : kernel
priority     : 204
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : stdrng
driver       : drbg_pr_hmac_sha256
module       : kernel
priority     : 203
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : stdrng
driver       : drbg_pr_hmac_sha512
module       : kernel
priority     : 202
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : stdrng
driver       : drbg_pr_hmac_sha384
module       : kernel
priority     : 201
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : stdrng
driver       : drbg_pr_hmac_sha1
module       : kernel
priority     : 200
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 0

name         : stdrng
driver       : ansi_cprng
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : rng
seedsize     : 48

name         : crct10dif
driver       : crct10dif-generic
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 1
digestsize   : 2

name         : crc32c
driver       : crc32c-generic
module       : kernel
priority     : 100
refcnt       : 3
selftest     : passed
internal     : no
type         : shash
blocksize    : 1
digestsize   : 4

name         : zlib-deflate
driver       : zlib-deflate-scomp
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
internal     : no
type         : scomp

name         : deflate
driver       : deflate-scomp
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
internal     : no
type         : scomp

name         : deflate
driver       : deflate-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
internal     : no
type         : compression

name         : aes
driver       : aes-generic
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : cipher
blocksize    : 16
min keysize  : 16
max keysize  : 32

name         : sha224
driver       : sha224-generic
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 64
digestsize   : 28

name         : sha256
driver       : sha256-generic
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 64
digestsize   : 32

name         : sha1
driver       : sha1-generic
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 64
digestsize   : 20

name         : ecb(cipher_null)
driver       : ecb-cipher_null
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : skcipher
async        : no
blocksize    : 1
min keysize  : 0
max keysize  : 0
ivsize       : 0
chunksize    : 1
walksize     : 1

name         : digest_null
driver       : digest_null-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
internal     : no
type         : shash
blocksize    : 1
digestsize   : 0

name         : compress_null
driver       : compress_null-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
internal     : no
type         : compression

name         : cipher_null
driver       : cipher_null-generic
module       : kernel
priority     : 0
refcnt       : 1
selftest     : passed
internal     : no
type         : cipher
blocksize    : 1
min keysize  : 0
max keysize  : 0

name         : rsa
driver       : rsa-generic
module       : kernel
priority     : 100
refcnt       : 1
selftest     : passed
internal     : no
type         : akcipher


openssl speed md5 sha1 sha256 sha512 des des-ede3 aes-128-cbc aes-192-cbc aes-256-cbc rsa2048 dsa2048 | tee /tmp/sslspeed
echo "|" `awk 'match($0,/r[0-9]+/) {print substr($0,RSTART,RLENGTH)}' /etc/banner` `awk -v FS=": " -v ORS="" '/(Processor|BogoMIPS|Hardware|machine|cpu model|system type)/ { print "| " $2 " " } END { print "" }' /proc/cpuinfo` `awk -v ORS="" '$1 ~ /OpenSSL/ {print "| " $2 " |"} $1 ~ /(md5|sha)/ {print "  " $5 " |"} $1 ~ /(des|aes)/ {b = b "  " $6 " |"} $1 ~ /(rsa|dsa)/ {print b "  " $6 " | " $7 " | ";b=""} END { print "" }' /tmp/sslspeed | sed 's/\.\(..\)k/\10/g'`
echo 

6017051 md5's in 2.99s
Doing md5 for 3s on 64 size blocks: 3747162 md5's in 3.00s
Doing md5 for 3s on 256 size blocks: 1759645 md5's in 2.99s
Doing md5 for 3s on 1024 size blocks: 560895 md5's in 3.00s
Doing md5 for 3s on 8192 size blocks: 76613 md5's in 3.00s
Doing md5 for 3s on 16384 size blocks: 38552 md5's in 2.99s
Doing sha1 for 3s on 16 size blocks: 5302800 sha1's in 3.00s
Doing sha1 for 3s on 64 size blocks: 3306365 sha1's in 3.00s
Doing sha1 for 3s on 256 size blocks: 1584946 sha1's in 2.99s
Doing sha1 for 3s on 1024 size blocks: 513369 sha1's in 3.00s
Doing sha1 for 3s on 8192 size blocks: 70336 sha1's in 3.00s
Doing sha1 for 3s on 16384 size blocks: 35404 sha1's in 2.99s
Doing sha256 for 3s on 16 size blocks: 3357872 sha256's in 3.00s
Doing sha256 for 3s on 64 size blocks: 1929438 sha256's in 2.99s
Doing sha256 for 3s on 256 size blocks: 869289 sha256's in 3.00s
Doing sha256 for 3s on 1024 size blocks: 274438 sha256's in 3.00s
Doing sha256 for 3s on 8192 size blocks: 37155 sha256's in 2.99s
Doing sha256 for 3s on 16384 size blocks: 18682 sha256's in 3.00s
Doing sha512 for 3s on 16 size blocks: 2799557 sha512's in 3.00s
Doing sha512 for 3s on 64 size blocks: 2783520 sha512's in 2.99s
Doing sha512 for 3s on 256 size blocks: 1105915 sha512's in 3.00s
Doing sha512 for 3s on 1024 size blocks: 397144 sha512's in 3.00s
Doing sha512 for 3s on 8192 size blocks: 56976 sha512's in 2.99s
Doing sha512 for 3s on 16384 size blocks: 28777 sha512's in 3.00s
Doing des cbc for 3s on 16 size blocks: 4738723 des cbc's in 2.99s
Doing des cbc for 3s on 64 size blocks: 1281858 des cbc's in 3.00s
Doing des cbc for 3s on 256 size blocks: 327964 des cbc's in 3.00s
Doing des cbc for 3s on 1024 size blocks: 82477 des cbc's in 2.99s
Doing des cbc for 3s on 8192 size blocks: 10327 des cbc's in 3.00s
Doing des cbc for 3s on 16384 size blocks: 5164 des cbc's in 3.00s
Doing des ede3 for 3s on 16 size blocks: 1798759 des ede3's in 3.00s
Doing des ede3 for 3s on 64 size blocks: 463662 des ede3's in 2.99s
Doing des ede3 for 3s on 256 size blocks: 116943 des ede3's in 3.00s
Doing des ede3 for 3s on 1024 size blocks: 29298 des ede3's in 2.99s
Doing des ede3 for 3s on 8192 size blocks: 3665 des ede3's in 3.00s
Doing des ede3 for 3s on 16384 size blocks: 1833 des ede3's in 3.00s
Doing aes-128 cbc for 3s on 16 size blocks: 10693352 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 64 size blocks: 2904495 aes-128 cbc's in 2.99s
Doing aes-128 cbc for 3s on 256 size blocks: 747016 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 1024 size blocks: 187873 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 8192 size blocks: 23552 aes-128 cbc's in 2.99s
Doing aes-128 cbc for 3s on 16384 size blocks: 11785 aes-128 cbc's in 3.00s
Doing aes-192 cbc for 3s on 16 size blocks: 9372353 aes-192 cbc's in 3.00s
Doing aes-192 cbc for 3s on 64 size blocks: 2519655 aes-192 cbc's in 2.99s
Doing aes-192 cbc for 3s on 256 size blocks: 645518 aes-192 cbc's in 3.00s
Doing aes-192 cbc for 3s on 1024 size blocks: 162204 aes-192 cbc's in 3.00s
Doing aes-192 cbc for 3s on 8192 size blocks: 20339 aes-192 cbc's in 2.99s
Doing aes-192 cbc for 3s on 16384 size blocks: 10170 aes-192 cbc's in 3.00s
Doing aes-256 cbc for 3s on 16 size blocks: 8351975 aes-256 cbc's in 3.00s
Doing aes-256 cbc for 3s on 64 size blocks: 2230407 aes-256 cbc's in 2.99s
Doing aes-256 cbc for 3s on 256 size blocks: 569997 aes-256 cbc's in 3.00s
Doing aes-256 cbc for 3s on 1024 size blocks: 143151 aes-256 cbc's in 3.00s
Doing aes-256 cbc for 3s on 8192 size blocks: 17939 aes-256 cbc's in 2.99s
Doing aes-256 cbc for 3s on 16384 size blocks: 8970 aes-256 cbc's in 3.00s
Doing 2048 bits private rsa's for 10s: 1399 2048 bits private RSA's in 9.99s
Doing 2048 bits public rsa's for 10s: 53024 2048 bits public RSA's in 9.99s
Doing 2048 bits sign dsa's for 10s: 3820 2048 bits DSA signs in 9.98s
Doing 2048 bits verify dsa's for 10s: 4173 2048 bits DSA verify in 9.99s
OpenSSL 1.1.1d  10 Sep 2019
built on: Wed Sep 11 18:07:42 2019 UTC
options:bn(64,64) rc4(char) des(int) aes(partial) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -Wa,--noexecstack -march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -Wa,--noexecstack -D_FORTIFY_SOURCE=2 -march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DNDEBUG -D_FORTIFY_SOURCE=2
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
md5              32198.27k    79939.46k   150658.57k   191452.16k   209204.57k   211249.49k
sha1             28281.60k    70535.79k   135701.06k   175229.95k   192064.17k   193999.71k
des cbc          25357.72k    27346.30k    27986.26k    28246.30k    28199.59k    28202.33k
des ede3          9593.38k     9924.54k     9979.14k    10033.83k    10007.89k    10010.62k
aes-128 cbc      57031.21k    62169.79k    63745.37k    64127.32k    64527.75k    64361.81k
aes-192 cbc      49985.88k    53932.41k    55084.20k    55365.63k    55724.78k    55541.76k
aes-256 cbc      44543.87k    47741.15k    48639.74k    48862.21k    49149.26k    48988.16k
sha256           17908.65k    41299.01k    74179.33k    93674.84k   101797.24k   102028.63k
sha512           14930.97k    59580.36k    94371.41k   135558.49k   156102.81k   157160.79k
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.007141s 0.000188s    140.0   5307.7
                  sign    verify    sign/s verify/s
dsa 2048 bits 0.002613s 0.002394s    382.8    417.7
/g'` " | " $7 " | ";b=""} END { print "" }' /tmp/sslspeed | sed 's/\.\(..\)k/\10/
awk: fatal: cannot open file `/etc/banner' for reading (No such file or directory)
| | 48.00 | 48.00 | 48.00 | 48.00 | 1.1.1d | 192044030 | 175338500 | 93675520 | 135603200 | 28157270 | 10017790 | 64203090 | 55428780 | 48919210 | 140.0 | 5308.2 | 382.6 | 410.8 |
[root@alarm ~]# echo






  parent reply	other threads:[~2019-12-11  9:38 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-11  8:41 [PATCHv1 0/3] Enable crypto module on Amlogic GXBB SoC platform Anand Moon
2019-12-11  8:41 ` [PATCHv1 1/3] arm64: dts: amlogic: adds crypto hardware node for GXBB SoCs Anand Moon
2019-12-11 10:41   ` Anand Moon
2019-12-11  8:41 ` [PATCHv1 2/3] dt-bindings: crypto: Add compatible string for amlogic GXBB SoC Anand Moon
2019-12-11  8:41 ` [PATCHv1 3/3] crypto: amlogic: Add new " Anand Moon
2019-12-11  8:53 ` [PATCHv1 0/3] Enable crypto module on Amlogic GXBB SoC platform Neil Armstrong
2019-12-11  9:27   ` Herbert Xu
2019-12-11  9:32     ` Neil Armstrong
2019-12-11 10:05     ` Anand Moon
2019-12-11  9:37   ` Anand Moon [this message]
2019-12-11  9:50     ` Herbert Xu
2019-12-11 10:33       ` Anand Moon
2019-12-11 12:15       ` Anand Moon
2019-12-11 12:24         ` Ard Biesheuvel
     [not found]           ` <1229236701.11947072.1576070229564@mail.yahoo.com>
2019-12-11 23:30             ` Martin Blumenstingl
2019-12-12  6:23               ` Anand Moon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANAwSgQOTA0mSvFW5otaCzFPHidhY7VFcrXZHjCD-1XkQpcx3w@mail.gmail.com \
    --to=linux.amoon@gmail.com \
    --cc=clabbe@baylibre.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=khilman@baylibre.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=martin.blumenstingl@googlemail.com \
    --cc=narmstrong@baylibre.com \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).