<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/crypto, branch linux-3.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-10-05T14:17:55Z</updated>
<entry>
<title>ARM: 7837/3: fix Thumb-2 bug in AES assembler code</title>
<updated>2013-10-05T14:17:55Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2013-09-21T10:23:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7e797c7ea3dd461fbaf8dd66b941a02a5b83fe8d'/>
<id>urn:sha1:7e797c7ea3dd461fbaf8dd66b941a02a5b83fe8d</id>
<content type='text'>
commit 40190c85f427dcfdbab5dbef4ffd2510d649da1f upstream.

Patch 638591c enabled building the AES assembler code in Thumb2 mode.
However, this code used arithmetic involving PC rather than adr{l}
instructions to generate PC-relative references to the lookup tables,
and this needs to take into account the different PC offset when
running in Thumb mode.

Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Acked-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARM: 7723/1: crypto: sha1-armv4-large.S: fix SP handling</title>
<updated>2013-05-22T21:01:35Z</updated>
<author>
<name>Ard Biesheuvel</name>
</author>
<published>2013-05-15T09:46:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=934fc24df10abfd5aff533d0d044a17669d77d79'/>
<id>urn:sha1:934fc24df10abfd5aff533d0d044a17669d77d79</id>
<content type='text'>
Make the SHA1 asm code ABI conformant by making sure all stack
accesses occur above the stack pointer.

Origin:
http://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=1a9d60d2

Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Acked-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 7626/1: arm/crypto: Make asm SHA-1 and AES code Thumb-2 compatible</title>
<updated>2013-01-13T12:41:22Z</updated>
<author>
<name>Dave Martin</name>
</author>
<published>2013-01-10T11:20:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=638591cd7b601d403ed703d55062b48c32ea8cfb'/>
<id>urn:sha1:638591cd7b601d403ed703d55062b48c32ea8cfb</id>
<content type='text'>
This patch fixes aes-armv4.S and sha1-armv4-large.S to work
natively in Thumb.  This allows ARM/Thumb interworking workarounds
to be removed.

I also take the opportunity to convert some explicit assembler
directives for exported functions to the standard
ENTRY()/ENDPROC().

For the code itself:

  * In sha1_block_data_order, use of TEQ with sp is deprecated in
    ARMv7 and not supported in Thumb.  For the branches back to
    .L_00_15 and .L_40_59, the TEQ is converted to a CMP, under the
    assumption that clobbering the C flag here will not cause
    incorrect behaviour.

    For the first branch back to .L_20_39_or_60_79 the C flag is
    important, so sp is moved temporarily into another register so
    that TEQ can be used for the comparison.

  * In the AES code, most forms of register-indexed addressing with
    shifts and rotates are not permitted for loads and stores in
    Thumb, so the address calculation is done using a separate
    instruction for the Thumb case.

The resulting code is unlikely to be optimally scheduled, but it
should not have a large impact given the overall size of the code.
I haven't run any benchmarks.

Signed-off-by: Dave Martin &lt;dave.martin@linaro.org&gt;
Tested-by: David McCullough &lt;ucdevel@gmail.com&gt; (ARM only)
Acked-by: David McCullough &lt;ucdevel@gmail.com&gt;
Acked-by: Nicolas Pitre &lt;nico@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>arm/crypto: Add optimized AES and SHA1 routines</title>
<updated>2012-09-06T20:17:02Z</updated>
<author>
<name>David McCullough</name>
</author>
<published>2012-09-06T20:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f0be44f4fb1faee42635ca5ea06dc9c3e820a35d'/>
<id>urn:sha1:f0be44f4fb1faee42635ca5ea06dc9c3e820a35d</id>
<content type='text'>
Add assembler versions of AES and SHA1 for ARM platforms.  This has provided
up to a 50% improvement in IPsec/TCP throughout for tunnels using AES128/SHA1.

Platform   CPU SPeed    Endian   Before (bps)   After (bps)   Improvement

IXP425      533 MHz      big     11217042        15566294        ~38%
KS8695      166 MHz     little    3828549         5795373        ~51%

Signed-off-by: David McCullough &lt;ucdevel@gmail.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
