my ($ke128, $ke192, $ke256) = @_;
my $ret = '';
$ret .= <<___;
- bnez $UKEY,1f # if (!userKey || !key) return -1;
- bnez $KEYP,1f
- li a0,-1
- ret
-1:
# Determine number of rounds from key size in bits
li $T0,128
bne $BITS,$T0,1f
my ($ke128, $ke192, $ke256) = @_;
my $ret = '';
$ret .= <<___;
- bnez $UKEY,1f # if (!userKey || !key) return -1;
- bnez $KEYP,1f
- li a0,-1
- ret
-1:
# Determine number of rounds from key size in bits
li $T0,128
bne $BITS,$T0,1f
.globl rv64i_zvkned_set_encrypt_key
.type rv64i_zvkned_set_encrypt_key,\@function
rv64i_zvkned_set_encrypt_key:
- beqz $UKEY, L_fail_m1
- beqz $KEYP, L_fail_m1
-
# Get proper routine for key size
li $T0, 256
beq $BITS, $T0, L_set_key_256
.globl rv64i_zvkned_set_decrypt_key
.type rv64i_zvkned_set_decrypt_key,\@function
rv64i_zvkned_set_decrypt_key:
- beqz $UKEY, L_fail_m1
- beqz $KEYP, L_fail_m1
-
# Get proper routine for key size
li $T0, 256
beq $BITS, $T0, L_set_key_256
}
$code .= <<___;
-L_fail_m1:
- li a0, -1
- ret
-.size L_fail_m1,.-L_fail_m1
-
L_fail_m2:
li a0, -2
ret