<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/crypto/talitos.h, branch linux-4.9.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.9.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-12-04T14:29:56Z</updated>
<entry>
<title>crypto: talitos - add new crypto modes</title>
<updated>2015-12-04T14:29:56Z</updated>
<author>
<name>LEROY Christophe</name>
</author>
<published>2015-12-01T11:44:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e75ae1b3cef6455b131835621216cb92060da34'/>
<id>urn:sha1:5e75ae1b3cef6455b131835621216cb92060da34</id>
<content type='text'>
This patch adds the following algorithms to the talitos driver:
* ecb(aes)
* ctr(aes)
* ecb(des)
* cbc(des)
* ecb(des3_ede)

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - Prevent panic in probe error path</title>
<updated>2015-08-10T15:19:05Z</updated>
<author>
<name>Aaron Sierra</name>
</author>
<published>2015-08-05T21:52:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=35a3bb3d39d5a84b1adc02e5289d01a33d1073b6'/>
<id>urn:sha1:35a3bb3d39d5a84b1adc02e5289d01a33d1073b6</id>
<content type='text'>
The probe error path for this driver, for all intents and purposes,
is the talitos_remove() function due to the common "goto err_out".

Without this patch applied, talitos_remove() will panic under these
two conditions:

1. If the RNG device hasn't been registered via
   talitos_register_rng() prior to entry into talitos_remove(),
   then the attempt to unregister the RNG "device" will cause a panic.

2. If the priv-&gt;chan array has not been allocated prior to entry
   into talitos_remove(), then the per-channel FIFO cleanup will panic
   because of the dereference of that NULL "array".

Both of the above scenarios occur if talitos_probe_irq() fails.

This patch resolves issue #1 by introducing a boolean to mask the
hwrng_unregister() call in talitos_unregister_rng() if RNG device
registration was unsuccessful.

It resolves issue #2 by checking that priv-&gt;chan is not NULL in the
per-channel FIFO cleanup for loop.

Signed-off-by: Aaron Sierra &lt;asierra@xes-inc.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - Remove zero_entry static initializer</title>
<updated>2015-08-04T09:41:33Z</updated>
<author>
<name>Aaron Sierra</name>
</author>
<published>2015-08-03T23:56:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76bea64c4c8d7fa911eb485c4c2b8583e813331e'/>
<id>urn:sha1:76bea64c4c8d7fa911eb485c4c2b8583e813331e</id>
<content type='text'>
Compiling the talitos driver with my GCC 4.3.1 e500v2 cross-compiler
resulted in a failed build due to the anonymous union/structures
introduced in this commit:

  crypto: talitos - enhanced talitos_desc struct for SEC1

The build error was:

  drivers/crypto/talitos.h:56: error: unknown field 'len' specified in initializer
  drivers/crypto/talitos.h:56: warning: missing braces around initializer
  drivers/crypto/talitos.h:56: warning: (near initialization for 'zero_entry.&lt;anonymous&gt;')
  drivers/crypto/talitos.h:57: error: unknown field 'j_extent' specified in initializer
  drivers/crypto/talitos.h:58: error: unknown field 'eptr' specified in initializer
  drivers/crypto/talitos.h:58: warning: excess elements in struct initializer
  drivers/crypto/talitos.h:58: warning: (near initialization for 'zero_entry')
  make[2]: *** [drivers/crypto/talitos.o] Error 1
  make[1]: *** [drivers/crypto] Error 2
  make: *** [drivers] Error 2

This patch eliminates the errors by relying on the C standard's
implicit assignment of zero to static variables.

Signed-off-by: Aaron Sierra &lt;asierra@xes-inc.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - implement scatter/gather copy for SEC1</title>
<updated>2015-04-21T01:14:42Z</updated>
<author>
<name>LEROY Christophe</name>
</author>
<published>2015-04-17T14:32:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6f65f6ac5fb36a90ebf9a8d57cc4076b82d5009e'/>
<id>urn:sha1:6f65f6ac5fb36a90ebf9a8d57cc4076b82d5009e</id>
<content type='text'>
SEC1 doesn't support scatter/gather, SEC1 doesn't handle link tables.
Therefore, for SEC1 we have to do it by SW. For that, we reserve
space at the end of the extended descriptor, in lieu of the space
reserved for the link tables on SEC2, and we perform sg_copy() when
preparing the descriptors

We also adapt the max buffer size which is only 32k on SEC1 while it
is 64k on SEC2+

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - adapt interrupts and reset functions to SEC1</title>
<updated>2015-04-21T01:14:42Z</updated>
<author>
<name>LEROY Christophe</name>
</author>
<published>2015-04-17T14:32:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd3c0987f5426d2df4a0c92de82dac65874bb9a4'/>
<id>urn:sha1:dd3c0987f5426d2df4a0c92de82dac65874bb9a4</id>
<content type='text'>
This patch adapts the interrupts handling and reset function for
SEC1. On SEC1, registers are almost similar to SEC2+, but bits
are sometimes located at different places. So we need to define
TALITOS1 and TALITOS2 versions of some fields, and manage according
to whether it is SEC1 or SEC2.

On SEC1, only one interrupt vector is dedicated to the SEC, so only
interrupt_4ch is needed.

On SEC1, interrupts are enabled by clearing related bits in IMR,
while on SEC2, interrupts are enabled by seting the bits in IMR.

SEC1 also performs parity verification in the DES Unit. We have
to disable this feature because the test vectors provided in
the kernel have parity errors.

In reset functions, only SEC2 supports continuation after error.
For SEC1, we have to reset in all cases.

For errors handling, SEC2+ names have been kept, but displayed
text have been amended to reflect exact meaning on SEC1.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - base address for Execution Units</title>
<updated>2015-04-21T01:14:42Z</updated>
<author>
<name>LEROY Christophe</name>
</author>
<published>2015-04-17T14:32:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5fa7fa147b1572ae724819631ef442e1c9570f9a'/>
<id>urn:sha1:5fa7fa147b1572ae724819631ef442e1c9570f9a</id>
<content type='text'>
SEC 1.0, 1.2 and 2.x+ have different EU base addresses, so we need to
define pointers for each EU in the driver private data structure.
The proper address is set by the probe function depending on the
SEC type, in order to provide access to the proper address.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - adaptation of talitos_submit() for SEC1</title>
<updated>2015-04-21T01:14:42Z</updated>
<author>
<name>LEROY Christophe</name>
</author>
<published>2015-04-17T14:32:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7d607c6a71f7a4905831fc2b1636e080533ab2db'/>
<id>urn:sha1:7d607c6a71f7a4905831fc2b1636e080533ab2db</id>
<content type='text'>
SEC1 descriptor is a bit different to SEC2+ descriptor.
talitos_submit() will have to copy hdr field into hdr1 field and
send the descriptor starting at hdr1 up to next_desc.
For SEC2, it remains unchanged and next_desc is just ignored.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - Add a feature to tag SEC1</title>
<updated>2015-04-21T01:14:41Z</updated>
<author>
<name>LEROY Christophe</name>
</author>
<published>2015-04-17T14:32:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21590888490ce2a46ff4703b1503f562f4a59571'/>
<id>urn:sha1:21590888490ce2a46ff4703b1503f562f4a59571</id>
<content type='text'>
We add a new feature in the features field, to mark compatible
"fsl,sec1.0"
We also define a helper function called has_ftr_sec1() to help
functions quickly determine if they are running on SEC1 or SEC2+.
When only SEC1 or SEC2 is compiled in, has_ftr_sec1() return
trivial corresponding value. If both are compiled in, feature
field is checked.

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - enhanced talitos_desc struct for SEC1</title>
<updated>2015-04-21T01:14:40Z</updated>
<author>
<name>LEROY Christophe</name>
</author>
<published>2015-04-17T14:32:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90490752eb03ddc1015233034ec26816f0ea0de3'/>
<id>urn:sha1:90490752eb03ddc1015233034ec26816f0ea0de3</id>
<content type='text'>
This patch enhances the talitos_desc struct with fields for SEC1.
SEC1 has only one header field, and has a 'next_desc' field in
addition.
This mixed descriptor will continue to fit SEC2, and for SEC1
we will recopy hdr value into hdr1 value in talitos_submit()

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: talitos - add sha224, sha384 and sha512 to existing AEAD algorithms</title>
<updated>2012-07-11T03:08:29Z</updated>
<author>
<name>Horia Geanta</name>
</author>
<published>2012-07-03T16:16:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=357fb60502ede168fa1b76b996298e0045e24b59'/>
<id>urn:sha1:357fb60502ede168fa1b76b996298e0045e24b59</id>
<content type='text'>
With this, now all combinations of
CBC: AES, 3DES-EDE
with
HMAC: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
are supported.

Signed-off-by: Horia Geanta &lt;horia.geanta@freescale.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
