Lines Matching +full:x +full:- +full:rp

8 	uint32_t *rp;  member
15 uint32_t x; in t0_parse7E_unsigned() local
17 x = 0; in t0_parse7E_unsigned()
22 x = (x << 7) | (uint32_t)(y & 0x7F); in t0_parse7E_unsigned()
24 return x; in t0_parse7E_unsigned()
33 uint32_t x; in t0_parse7E_signed() local
36 x = (uint32_t)-neg; in t0_parse7E_signed()
41 x = (x << 7) | (uint32_t)(y & 0x7F); in t0_parse7E_signed()
44 return -(int32_t)~x - 1; in t0_parse7E_signed()
46 return (int32_t)x; in t0_parse7E_signed()
52 #define T0_VBYTE(x, n) (unsigned char)((((uint32_t)(x) >> (n)) & 0x7F) | 0x80) argument
53 #define T0_FBYTE(x, n) (unsigned char)(((uint32_t)(x) >> (n)) & 0x7F) argument
54 #define T0_SBYTE(x) (unsigned char)((((uint32_t)(x) >> 28) + 0xF8) ^ 0xF8) argument
55 #define T0_INT1(x) T0_FBYTE(x, 0) argument
56 #define T0_INT2(x) T0_VBYTE(x, 7), T0_FBYTE(x, 0) argument
57 #define T0_INT3(x) T0_VBYTE(x, 14), T0_VBYTE(x, 7), T0_FBYTE(x, 0) argument
58 #define T0_INT4(x) T0_VBYTE(x, 21), T0_VBYTE(x, 14), T0_VBYTE(x, 7), T0_FBYTE(x, 0) argument
59 #define T0_INT5(x) T0_SBYTE(x), T0_VBYTE(x, 21), T0_VBYTE(x, 14), T0_VBYTE(x, 7), T0_FBYTE(x,… argument
78 #define CTX ((br_skey_decoder_context *)(void *)((unsigned char *)t0ctx - offsetof(br_skey_decode…
86 ctx->cpu.dp = &ctx->dp_stack[0]; in br_skey_decoder_init()
87 ctx->cpu.rp = &ctx->rp_stack[0]; in br_skey_decoder_init()
88 br_skey_decoder_init_main(&ctx->cpu); in br_skey_decoder_init()
89 br_skey_decoder_run(&ctx->cpu); in br_skey_decoder_init()
97 ctx->hbuf = data; in br_skey_decoder_push()
98 ctx->hlen = len; in br_skey_decoder_push()
99 br_skey_decoder_run(&ctx->cpu); in br_skey_decoder_push()
267 #define T0_ENTER(ip, rp, slot) do { \ argument
270 t0_newip = &t0_codeblock[t0_caddr[(slot) - T0_INTERPRETED]]; \
272 (rp) += t0_lnum; \
273 *((rp) ++) = (uint32_t)((ip) - &t0_codeblock[0]) + (t0_lnum << 16); \
282 t0ctx->ip = &t0_codeblock[0]; \
283 T0_ENTER(t0ctx->ip, t0ctx->rp, slot); \
293 uint32_t *dp, *rp; in br_skey_decoder_run() local
296 #define T0_LOCAL(x) (*(rp - 2 - (x))) in br_skey_decoder_run() argument
297 #define T0_POP() (*-- dp) in br_skey_decoder_run()
298 #define T0_POPi() (*(int32_t *)(-- dp)) in br_skey_decoder_run()
299 #define T0_PEEK(x) (*(dp - 1 - (x))) in br_skey_decoder_run() argument
300 #define T0_PEEKi(x) (*(int32_t *)(dp - 1 - (x))) in br_skey_decoder_run() argument
303 #define T0_RPOP() (*-- rp) in br_skey_decoder_run()
304 #define T0_RPOPi() (*(int32_t *)(-- rp)) in br_skey_decoder_run()
305 #define T0_RPUSH(v) do { *rp = (v); rp ++; } while (0) in br_skey_decoder_run()
306 #define T0_RPUSHi(v) do { *(int32_t *)rp = (v); rp ++; } while (0) in br_skey_decoder_run()
307 #define T0_ROLL(x) do { \ in br_skey_decoder_run() argument
308 size_t t0len = (size_t)(x); \ in br_skey_decoder_run()
309 uint32_t t0tmp = *(dp - 1 - t0len); \ in br_skey_decoder_run()
310 memmove(dp - t0len - 1, dp - t0len, t0len * sizeof *dp); \ in br_skey_decoder_run()
311 *(dp - 1) = t0tmp; \ in br_skey_decoder_run()
314 uint32_t t0tmp = *(dp - 2); \ in br_skey_decoder_run()
315 *(dp - 2) = *(dp - 1); \ in br_skey_decoder_run()
316 *(dp - 1) = t0tmp; \ in br_skey_decoder_run()
319 uint32_t t0tmp = *(dp - 3); \ in br_skey_decoder_run()
320 *(dp - 3) = *(dp - 2); \ in br_skey_decoder_run()
321 *(dp - 2) = *(dp - 1); \ in br_skey_decoder_run()
322 *(dp - 1) = t0tmp; \ in br_skey_decoder_run()
325 uint32_t t0tmp = *(dp - 1); \ in br_skey_decoder_run()
326 *(dp - 1) = *(dp - 2); \ in br_skey_decoder_run()
327 *(dp - 2) = *(dp - 3); \ in br_skey_decoder_run()
328 *(dp - 3) = t0tmp; \ in br_skey_decoder_run()
330 #define T0_PICK(x) do { \ in br_skey_decoder_run() argument
331 uint32_t t0depth = (x); \ in br_skey_decoder_run()
339 dp = ((t0_context *)t0ctx)->dp; in br_skey_decoder_run()
340 rp = ((t0_context *)t0ctx)->rp; in br_skey_decoder_run()
341 ip = ((t0_context *)t0ctx)->ip; in br_skey_decoder_run()
354 rp -= (t0x >> 16); in br_skey_decoder_run()
397 /* - */ in br_skey_decoder_run()
401 T0_PUSH(a - b); in br_skey_decoder_run()
406 /* -rot */ in br_skey_decoder_run()
415 T0_PUSH(-(uint32_t)(a < b)); in br_skey_decoder_run()
423 uint32_t x = T0_POP(); in br_skey_decoder_run() local
424 T0_PUSH(x << c); in br_skey_decoder_run()
433 T0_PUSH(-(uint32_t)(a != b)); in br_skey_decoder_run()
442 T0_PUSH(-(uint32_t)(a == b)); in br_skey_decoder_run()
451 T0_PUSH(-(uint32_t)(a > b)); in br_skey_decoder_run()
460 T0_PUSH(-(uint32_t)(a >= b)); in br_skey_decoder_run()
468 int32_t x = T0_POPi(); in br_skey_decoder_run() local
469 T0_PUSHi(x >> c); in br_skey_decoder_run()
501 const unsigned char *a1 = &CTX->pad[0]; in br_skey_decoder_run()
503 int x; in br_skey_decoder_run() local
505 x = -(memcmp(a1 + 1, a2 + 1, len) == 0); in br_skey_decoder_run()
507 x = 0; in br_skey_decoder_run()
509 T0_PUSH((uint32_t)x); in br_skey_decoder_run()
516 CTX->err = T0_POPi(); in br_skey_decoder_run()
533 T0_PUSH(-a); in br_skey_decoder_run()
543 /* read-blob-inner */ in br_skey_decoder_run()
547 size_t clen = CTX->hlen; in br_skey_decoder_run()
552 memcpy((unsigned char *)CTX + addr, CTX->hbuf, clen); in br_skey_decoder_run()
554 CTX->hbuf += clen; in br_skey_decoder_run()
555 CTX->hlen -= clen; in br_skey_decoder_run()
557 T0_PUSH(len - clen); in br_skey_decoder_run()
562 /* read8-low */ in br_skey_decoder_run()
564 if (CTX->hlen == 0) { in br_skey_decoder_run()
565 T0_PUSHi(-1); in br_skey_decoder_run()
567 CTX->hlen --; in br_skey_decoder_run()
568 T0_PUSH(*CTX->hbuf ++); in br_skey_decoder_run()
579 /* set-ec-key */ in br_skey_decoder_run()
583 CTX->key.ec.curve = curve; in br_skey_decoder_run()
584 CTX->key.ec.x = CTX->key_data; in br_skey_decoder_run()
585 CTX->key.ec.xlen = xlen; in br_skey_decoder_run()
590 /* set-rsa-key */ in br_skey_decoder_run()
600 CTX->key.rsa.n_bitlen = n_bitlen; in br_skey_decoder_run()
601 CTX->key.rsa.p = CTX->key_data; in br_skey_decoder_run()
602 CTX->key.rsa.plen = plen; in br_skey_decoder_run()
604 CTX->key.rsa.q = CTX->key_data + off; in br_skey_decoder_run()
605 CTX->key.rsa.qlen = qlen; in br_skey_decoder_run()
607 CTX->key.rsa.dp = CTX->key_data + off; in br_skey_decoder_run()
608 CTX->key.rsa.dplen = dplen; in br_skey_decoder_run()
610 CTX->key.rsa.dq = CTX->key_data + off; in br_skey_decoder_run()
611 CTX->key.rsa.dqlen = dqlen; in br_skey_decoder_run()
613 CTX->key.rsa.iq = CTX->key_data + off; in br_skey_decoder_run()
614 CTX->key.rsa.iqlen = iqlen; in br_skey_decoder_run()
635 uint32_t x = T0_POP(); in br_skey_decoder_run() local
636 T0_PUSH(x >> c); in br_skey_decoder_run()
643 T0_ENTER(ip, rp, t0x); in br_skey_decoder_run()
647 ((t0_context *)t0ctx)->dp = dp; in br_skey_decoder_run()
648 ((t0_context *)t0ctx)->rp = rp; in br_skey_decoder_run()
649 ((t0_context *)t0ctx)->ip = ip; in br_skey_decoder_run()