28 Oct, 2005

1 commit

  • Patch from Nicolas Pitre

    Here's an ARM assembly SHA1 implementation to replace the default C
    version. It is approximately 50% faster than the generic C version. On
    an XScale processor running at 400MHz:
    generic C version: 9.8 MB/s
    my version: 14.5 MB/s
    This code is useful to quite a few callers in the tree:
    crypto/sha1.c: sha_transform(sctx->state, sctx->buffer, temp);
    crypto/sha1.c: sha_transform(sctx->state, &data[i], temp);
    drivers/char/random.c: sha_transform(buf, (__u8 *)r->pool+i, buf + 5);
    drivers/char/random.c: sha_transform(buf, (__u8 *)data, buf + 5);
    net/ipv4/syncookies.c: sha_transform(tmp + 16, (__u8 *)tmp, tmp + 16 + 5);

    Signed-off-by: Nicolas Pitre
    Seems to work fine on big-endian as well.

    Signed-off-by: Lennert Buytenhek
    Signed-off-by: Russell King

    Nicolas Pitre