diff options
author | Vasily Averin <vvs@virtuozzo.com> | 2018-06-07 20:10:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-07 20:34:39 -0400 |
commit | cbdc61ae1fa5d824fcfd59282b040f21144999ab (patch) | |
tree | f9b6b0a6630ec2019fcb0aceaad5aebf38fd2071 /lib/mpi/mpi-internal.h | |
parent | 804209d8a0096d9ed8c9891f987f42bc1a98b8f9 (diff) |
lib/mpi: headers cleanup
MPI headers contain definitions for huge number of non-existing
functions.
Most part of these functions was removed in 2012 by Dmitry Kasatkin
- 7cf4206a99d1 ("Remove unused code from MPI library")
- 9e235dcaf4f6 ("Revert "crypto: GnuPG based MPI lib - additional ...")
- bc95eeadf5c6 ("lib/mpi: removed unused functions")
however headers wwere not updated properly.
Also I deleted some unused macros.
Link: http://lkml.kernel.org/r/fb2fc1ef-1185-f0a3-d8d0-173d2f97bbaf@virtuozzo.com
Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Dmitry Kasatkin <dmitry.kasatkin@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/mpi/mpi-internal.h')
-rw-r--r-- | lib/mpi/mpi-internal.h | 75 |
1 files changed, 5 insertions, 70 deletions
diff --git a/lib/mpi/mpi-internal.h b/lib/mpi/mpi-internal.h index 7eceeddb3fb8..c2d6f4efcfbc 100644 --- a/lib/mpi/mpi-internal.h +++ b/lib/mpi/mpi-internal.h | |||
@@ -65,13 +65,6 @@ | |||
65 | typedef mpi_limb_t *mpi_ptr_t; /* pointer to a limb */ | 65 | typedef mpi_limb_t *mpi_ptr_t; /* pointer to a limb */ |
66 | typedef int mpi_size_t; /* (must be a signed type) */ | 66 | typedef int mpi_size_t; /* (must be a signed type) */ |
67 | 67 | ||
68 | static inline int RESIZE_IF_NEEDED(MPI a, unsigned b) | ||
69 | { | ||
70 | if (a->alloced < b) | ||
71 | return mpi_resize(a, b); | ||
72 | return 0; | ||
73 | } | ||
74 | |||
75 | /* Copy N limbs from S to D. */ | 68 | /* Copy N limbs from S to D. */ |
76 | #define MPN_COPY(d, s, n) \ | 69 | #define MPN_COPY(d, s, n) \ |
77 | do { \ | 70 | do { \ |
@@ -80,13 +73,6 @@ static inline int RESIZE_IF_NEEDED(MPI a, unsigned b) | |||
80 | (d)[_i] = (s)[_i]; \ | 73 | (d)[_i] = (s)[_i]; \ |
81 | } while (0) | 74 | } while (0) |
82 | 75 | ||
83 | #define MPN_COPY_INCR(d, s, n) \ | ||
84 | do { \ | ||
85 | mpi_size_t _i; \ | ||
86 | for (_i = 0; _i < (n); _i++) \ | ||
87 | (d)[_i] = (s)[_i]; \ | ||
88 | } while (0) | ||
89 | |||
90 | #define MPN_COPY_DECR(d, s, n) \ | 76 | #define MPN_COPY_DECR(d, s, n) \ |
91 | do { \ | 77 | do { \ |
92 | mpi_size_t _i; \ | 78 | mpi_size_t _i; \ |
@@ -111,15 +97,6 @@ static inline int RESIZE_IF_NEEDED(MPI a, unsigned b) | |||
111 | } \ | 97 | } \ |
112 | } while (0) | 98 | } while (0) |
113 | 99 | ||
114 | #define MPN_NORMALIZE_NOT_ZERO(d, n) \ | ||
115 | do { \ | ||
116 | for (;;) { \ | ||
117 | if ((d)[(n)-1]) \ | ||
118 | break; \ | ||
119 | (n)--; \ | ||
120 | } \ | ||
121 | } while (0) | ||
122 | |||
123 | #define MPN_MUL_N_RECURSE(prodp, up, vp, size, tspace) \ | 100 | #define MPN_MUL_N_RECURSE(prodp, up, vp, size, tspace) \ |
124 | do { \ | 101 | do { \ |
125 | if ((size) < KARATSUBA_THRESHOLD) \ | 102 | if ((size) < KARATSUBA_THRESHOLD) \ |
@@ -128,46 +105,11 @@ static inline int RESIZE_IF_NEEDED(MPI a, unsigned b) | |||
128 | mul_n(prodp, up, vp, size, tspace); \ | 105 | mul_n(prodp, up, vp, size, tspace); \ |
129 | } while (0); | 106 | } while (0); |
130 | 107 | ||
131 | /* Divide the two-limb number in (NH,,NL) by D, with DI being the largest | ||
132 | * limb not larger than (2**(2*BITS_PER_MP_LIMB))/D - (2**BITS_PER_MP_LIMB). | ||
133 | * If this would yield overflow, DI should be the largest possible number | ||
134 | * (i.e., only ones). For correct operation, the most significant bit of D | ||
135 | * has to be set. Put the quotient in Q and the remainder in R. | ||
136 | */ | ||
137 | #define UDIV_QRNND_PREINV(q, r, nh, nl, d, di) \ | ||
138 | do { \ | ||
139 | mpi_limb_t _q, _ql, _r; \ | ||
140 | mpi_limb_t _xh, _xl; \ | ||
141 | umul_ppmm(_q, _ql, (nh), (di)); \ | ||
142 | _q += (nh); /* DI is 2**BITS_PER_MPI_LIMB too small */ \ | ||
143 | umul_ppmm(_xh, _xl, _q, (d)); \ | ||
144 | sub_ddmmss(_xh, _r, (nh), (nl), _xh, _xl); \ | ||
145 | if (_xh) { \ | ||
146 | sub_ddmmss(_xh, _r, _xh, _r, 0, (d)); \ | ||
147 | _q++; \ | ||
148 | if (_xh) { \ | ||
149 | sub_ddmmss(_xh, _r, _xh, _r, 0, (d)); \ | ||
150 | _q++; \ | ||
151 | } \ | ||
152 | } \ | ||
153 | if (_r >= (d)) { \ | ||
154 | _r -= (d); \ | ||
155 | _q++; \ | ||
156 | } \ | ||
157 | (r) = _r; \ | ||
158 | (q) = _q; \ | ||
159 | } while (0) | ||
160 | |||
161 | /*-- mpiutil.c --*/ | 108 | /*-- mpiutil.c --*/ |
162 | mpi_ptr_t mpi_alloc_limb_space(unsigned nlimbs); | 109 | mpi_ptr_t mpi_alloc_limb_space(unsigned nlimbs); |
163 | void mpi_free_limb_space(mpi_ptr_t a); | 110 | void mpi_free_limb_space(mpi_ptr_t a); |
164 | void mpi_assign_limb_space(MPI a, mpi_ptr_t ap, unsigned nlimbs); | 111 | void mpi_assign_limb_space(MPI a, mpi_ptr_t ap, unsigned nlimbs); |
165 | 112 | ||
166 | /*-- mpi-bit.c --*/ | ||
167 | void mpi_rshift_limbs(MPI a, unsigned int count); | ||
168 | int mpi_lshift_limbs(MPI a, unsigned int count); | ||
169 | |||
170 | /*-- mpihelp-add.c --*/ | ||
171 | static inline mpi_limb_t mpihelp_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | 113 | static inline mpi_limb_t mpihelp_add_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
172 | mpi_size_t s1_size, mpi_limb_t s2_limb); | 114 | mpi_size_t s1_size, mpi_limb_t s2_limb); |
173 | mpi_limb_t mpihelp_add_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | 115 | mpi_limb_t mpihelp_add_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
@@ -175,7 +117,6 @@ mpi_limb_t mpihelp_add_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | |||
175 | static inline mpi_limb_t mpihelp_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, | 117 | static inline mpi_limb_t mpihelp_add(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, |
176 | mpi_ptr_t s2_ptr, mpi_size_t s2_size); | 118 | mpi_ptr_t s2_ptr, mpi_size_t s2_size); |
177 | 119 | ||
178 | /*-- mpihelp-sub.c --*/ | ||
179 | static inline mpi_limb_t mpihelp_sub_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | 120 | static inline mpi_limb_t mpihelp_sub_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
180 | mpi_size_t s1_size, mpi_limb_t s2_limb); | 121 | mpi_size_t s1_size, mpi_limb_t s2_limb); |
181 | mpi_limb_t mpihelp_sub_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | 122 | mpi_limb_t mpihelp_sub_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
@@ -183,10 +124,10 @@ mpi_limb_t mpihelp_sub_n(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | |||
183 | static inline mpi_limb_t mpihelp_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, | 124 | static inline mpi_limb_t mpihelp_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size, |
184 | mpi_ptr_t s2_ptr, mpi_size_t s2_size); | 125 | mpi_ptr_t s2_ptr, mpi_size_t s2_size); |
185 | 126 | ||
186 | /*-- mpihelp-cmp.c --*/ | 127 | /*-- mpih-cmp.c --*/ |
187 | int mpihelp_cmp(mpi_ptr_t op1_ptr, mpi_ptr_t op2_ptr, mpi_size_t size); | 128 | int mpihelp_cmp(mpi_ptr_t op1_ptr, mpi_ptr_t op2_ptr, mpi_size_t size); |
188 | 129 | ||
189 | /*-- mpihelp-mul.c --*/ | 130 | /*-- mpih-mul.c --*/ |
190 | 131 | ||
191 | struct karatsuba_ctx { | 132 | struct karatsuba_ctx { |
192 | struct karatsuba_ctx *next; | 133 | struct karatsuba_ctx *next; |
@@ -202,7 +143,6 @@ mpi_limb_t mpihelp_addmul_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | |||
202 | mpi_size_t s1_size, mpi_limb_t s2_limb); | 143 | mpi_size_t s1_size, mpi_limb_t s2_limb); |
203 | mpi_limb_t mpihelp_submul_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | 144 | mpi_limb_t mpihelp_submul_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
204 | mpi_size_t s1_size, mpi_limb_t s2_limb); | 145 | mpi_size_t s1_size, mpi_limb_t s2_limb); |
205 | int mpihelp_mul_n(mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp, mpi_size_t size); | ||
206 | int mpihelp_mul(mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize, | 146 | int mpihelp_mul(mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize, |
207 | mpi_ptr_t vp, mpi_size_t vsize, mpi_limb_t *_result); | 147 | mpi_ptr_t vp, mpi_size_t vsize, mpi_limb_t *_result); |
208 | void mpih_sqr_n_basecase(mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t size); | 148 | void mpih_sqr_n_basecase(mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t size); |
@@ -214,21 +154,16 @@ int mpihelp_mul_karatsuba_case(mpi_ptr_t prodp, | |||
214 | mpi_ptr_t vp, mpi_size_t vsize, | 154 | mpi_ptr_t vp, mpi_size_t vsize, |
215 | struct karatsuba_ctx *ctx); | 155 | struct karatsuba_ctx *ctx); |
216 | 156 | ||
217 | /*-- mpihelp-mul_1.c (or xxx/cpu/ *.S) --*/ | 157 | /*-- generic_mpih-mul1.c --*/ |
218 | mpi_limb_t mpihelp_mul_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, | 158 | mpi_limb_t mpihelp_mul_1(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, |
219 | mpi_size_t s1_size, mpi_limb_t s2_limb); | 159 | mpi_size_t s1_size, mpi_limb_t s2_limb); |
220 | 160 | ||
221 | /*-- mpihelp-div.c --*/ | 161 | /*-- mpih-div.c --*/ |
222 | mpi_limb_t mpihelp_mod_1(mpi_ptr_t dividend_ptr, mpi_size_t dividend_size, | ||
223 | mpi_limb_t divisor_limb); | ||
224 | mpi_limb_t mpihelp_divrem(mpi_ptr_t qp, mpi_size_t qextra_limbs, | 162 | mpi_limb_t mpihelp_divrem(mpi_ptr_t qp, mpi_size_t qextra_limbs, |
225 | mpi_ptr_t np, mpi_size_t nsize, | 163 | mpi_ptr_t np, mpi_size_t nsize, |
226 | mpi_ptr_t dp, mpi_size_t dsize); | 164 | mpi_ptr_t dp, mpi_size_t dsize); |
227 | mpi_limb_t mpihelp_divmod_1(mpi_ptr_t quot_ptr, | ||
228 | mpi_ptr_t dividend_ptr, mpi_size_t dividend_size, | ||
229 | mpi_limb_t divisor_limb); | ||
230 | 165 | ||
231 | /*-- mpihelp-shift.c --*/ | 166 | /*-- generic_mpih-[lr]shift.c --*/ |
232 | mpi_limb_t mpihelp_lshift(mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, | 167 | mpi_limb_t mpihelp_lshift(mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, |
233 | unsigned cnt); | 168 | unsigned cnt); |
234 | mpi_limb_t mpihelp_rshift(mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, | 169 | mpi_limb_t mpihelp_rshift(mpi_ptr_t wp, mpi_ptr_t up, mpi_size_t usize, |