X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=crypto%2Fgf128mul.c;h=ecbeaa1f17e1eae7f17b04c05e922283b0472dd1;hb=d1cda4e39638e906f022c8ce56f566b617e1f77e;hp=0a2aadfa1d850378cc2e2ec6884f8b89c2676318;hpb=7e23772f414cdbfb2a08aed237d6e926bb1cb728;p=cascardo%2Flinux.git diff --git a/crypto/gf128mul.c b/crypto/gf128mul.c index 0a2aadfa1d85..ecbeaa1f17e1 100644 --- a/crypto/gf128mul.c +++ b/crypto/gf128mul.c @@ -142,6 +142,17 @@ static void gf128mul_x_bbe(be128 *r, const be128 *x) r->b = cpu_to_be64((b << 1) ^ _tt); } +void gf128mul_x_ble(be128 *r, const be128 *x) +{ + u64 a = le64_to_cpu(x->a); + u64 b = le64_to_cpu(x->b); + u64 _tt = gf128mul_table_bbe[b >> 63]; + + r->a = cpu_to_le64((a << 1) ^ _tt); + r->b = cpu_to_le64((b << 1) | (a >> 63)); +} +EXPORT_SYMBOL(gf128mul_x_ble); + static void gf128mul_x8_lle(be128 *x) { u64 a = be64_to_cpu(x->a);