|
@@ -250,82 +250,6 @@ void *mpi_get_buffer(MPI a, unsigned *nbytes, int *sign)
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(mpi_get_buffer);
|
|
|
|
|
|
-/****************
|
|
|
- * Use BUFFER to update MPI.
|
|
|
- */
|
|
|
-int mpi_set_buffer(MPI a, const void *xbuffer, unsigned nbytes, int sign)
|
|
|
-{
|
|
|
- const uint8_t *buffer = xbuffer, *p;
|
|
|
- mpi_limb_t alimb;
|
|
|
- int nlimbs;
|
|
|
- int i;
|
|
|
-
|
|
|
- nlimbs = DIV_ROUND_UP(nbytes, BYTES_PER_MPI_LIMB);
|
|
|
- if (RESIZE_IF_NEEDED(a, nlimbs) < 0)
|
|
|
- return -ENOMEM;
|
|
|
- a->sign = sign;
|
|
|
-
|
|
|
- for (i = 0, p = buffer + nbytes - 1; p >= buffer + BYTES_PER_MPI_LIMB;) {
|
|
|
-#if BYTES_PER_MPI_LIMB == 4
|
|
|
- alimb = (mpi_limb_t) *p--;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 8;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 16;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 24;
|
|
|
-#elif BYTES_PER_MPI_LIMB == 8
|
|
|
- alimb = (mpi_limb_t) *p--;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 8;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 16;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 24;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 32;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 40;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 48;
|
|
|
- alimb |= (mpi_limb_t) *p-- << 56;
|
|
|
-#else
|
|
|
-#error please implement for this limb size.
|
|
|
-#endif
|
|
|
- a->d[i++] = alimb;
|
|
|
- }
|
|
|
- if (p >= buffer) {
|
|
|
-#if BYTES_PER_MPI_LIMB == 4
|
|
|
- alimb = *p--;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 8;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 16;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 24;
|
|
|
-#elif BYTES_PER_MPI_LIMB == 8
|
|
|
- alimb = (mpi_limb_t) *p--;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 8;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 16;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 24;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 32;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 40;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 48;
|
|
|
- if (p >= buffer)
|
|
|
- alimb |= (mpi_limb_t) *p-- << 56;
|
|
|
-#else
|
|
|
-#error please implement for this limb size.
|
|
|
-#endif
|
|
|
- a->d[i++] = alimb;
|
|
|
- }
|
|
|
- a->nlimbs = i;
|
|
|
-
|
|
|
- if (i != nlimbs) {
|
|
|
- pr_emerg("MPI: mpi_set_buffer: Assertion failed (%d != %d)", i,
|
|
|
- nlimbs);
|
|
|
- BUG();
|
|
|
- }
|
|
|
- return 0;
|
|
|
-}
|
|
|
-EXPORT_SYMBOL_GPL(mpi_set_buffer);
|
|
|
-
|
|
|
/**
|
|
|
* mpi_write_to_sgl() - Funnction exports MPI to an sgl (msb first)
|
|
|
*
|