38 "movb -1(%3,%1), %%al\n\t"
42 "xorl %%eax, %%eax\n\t"
73 "adcl %%eax, (%5,%0,4)\n\t"
79 :
"r" (
value0 ),
"1" ( addend0 ),
"2" (
size )
105 "sbbl %%eax, (%5,%0,4)\n\t"
111 :
"r" (
value0 ),
"1" ( subtrahend0 ),
134 "rcll $1, (%4,%0,4)\n\t"
159 "rcrl $1, -4(%3,%0,4)\n\t"
199 unsigned int size ) {
205 "movl -4(%3, %1, 4), %k2\n\t"
206 "cmpl -4(%4, %1, 4), %k2\n\t"
212 "0" ( 0 ),
"1" (
size ) );
229 "bsrl -4(%2,%1,4), %0\n\t"
233 "leal 1(%k0,%k1,8), %k0\n\t"
254 ( (
void * )
dest0 );
261 "xorl %%eax, %%eax\n\t"
283 ( (
void * )
dest0 );
291 :
"0" (
dest0 ),
"1" ( source0 ),
316 "movb -1(%3,%1), %%al\n\t"
347 :
"=&a" ( discard_a ),
350 :
"g" ( multiplicand ),
pseudo_bit_t value[0x00020]
__asm__ __volatile__("rep movsl\n\t" :"=&D"(discard_D), "=&S"(discard_S), "=&c"(discard_c), "+m"(*dest) :"0"(dest0), "1"(source0), "2"(dest_size) :"eax")
static const uint32_t multiplier
Port multiplier number.
static const uint32_t * reference0
uint32_t bigint_element_t
Element of a big integer.
static unsigned int source_size
static unsigned int uint32_t unsigned int dest_size
static unsigned int uint32_t * dest0
Optimised string operations.
if(len >=6 *4) __asm__ __volatile__("movsl" if(len >=5 *4) __asm__ __volatile__("movsl" if(len >=4 *4) __asm__ __volatile__("movsl" if(len >=3 *4) __asm__ __volatile__("movsl" if(len >=2 *4) __asm__ __volatile__("movsl" if(len >=1 *4) __asm__ __volatile__("movsl" if((len % 4) >=2) __asm__ __volatile__("movsw" if((len % 2) >=1) __asm__ __volatile__("movsb" retur dest)
uint8_t data[48]
Additional event data.
#define __unused
Declare a variable or data structure as unused.
uint16_t size
Buffer size.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
int bigint_is_geq_raw(const bigint_element_t *value0, const bigint_element_t *reference0, unsigned int size)
void bigint_shrink_raw(const bigint_element_t *source0, unsigned int source_size, bigint_element_t *dest0, unsigned int dest_size)
int bigint_subtract_raw(const bigint_element_t *subtrahend0, bigint_element_t *value0, unsigned int size)
void bigint_grow_raw(const bigint_element_t *source0, unsigned int source_size, bigint_element_t *dest0, unsigned int dest_size)
void bigint_done_raw(const bigint_element_t *value0, unsigned int size, void *out, size_t len)
void bigint_multiply_one(const bigint_element_t multiplicand, const bigint_element_t multiplier, bigint_element_t *result, bigint_element_t *carry)
int bigint_add_raw(const bigint_element_t *addend0, bigint_element_t *value0, unsigned int size)
int bigint_is_zero_raw(const bigint_element_t *value0, unsigned int size)
#define bigint_t(size)
Define a big-integer type.
void bigint_init_raw(bigint_element_t *value0, unsigned int size, const void *data, size_t len)
int bigint_max_set_bit_raw(const bigint_element_t *value0, unsigned int size)
int bigint_shl_raw(bigint_element_t *value0, unsigned int size)
int bigint_shr_raw(bigint_element_t *value0, unsigned int size)
__asm__(".section \".rodata\", \"a\", " PROGBITS "\n\t" "\nprivate_key_data:\n\t" ".size private_key_data, ( . - private_key_data )\n\t" ".equ private_key_len, ( . - private_key_data )\n\t" ".previous\n\t")