AU
#define __octeon_cop2_aes_set_key_au(au, AU) \
__octeon_cop2_aes_set_key_au_vaddr64(au, AU) \
__octeon_cop2_aes_set_key_au_ptr(au, AU, __##au##_t *)
#define __octeon_cop2_aes_ed_16_au_vaddr64(ed, ED, au, AU) \
CNASM_##AU##LD(tmp0, 0, s) \
CNASM_##AU##LD(tmp1, 8, s) \
CNASM_##AU##SD(tmp0, 0, d) \
CNASM_##AU##SD(tmp1, 8, d) \
#define __octeon_cop2_aes_ed_16_au_ptr(ed, ED, au, AU, ptr) \
#define __octeon_cop2_aes_ed_16_au(ed, ED, au, AU) \
__octeon_cop2_aes_ed_16_au_vaddr64(ed, ED, au, AU) \
__octeon_cop2_aes_ed_16_au_ptr(ed, ED, au, AU, __##au##_t *)
#define __octeon_cop2_aes_ed_block_au_vaddr64(ed, ED, au, AU) \
CNASM_##AU##LD(tmp0, 0, s) \
CNASM_##AU##LD(tmp1, 8, s) \
CNASM_##AU##SD(tmp0, 0, d) \
CNASM_##AU##SD(tmp1, 8, d) \
#define __octeon_cop2_aes_ed_block_au_ptr(ed, ED, au, AU, ptr) \
#define __octeon_cop2_aes_ed_block_au(ed, ED, au, AU) \
__octeon_cop2_aes_ed_block_au_vaddr64(ed, ED, au, AU) \
__octeon_cop2_aes_ed_block_au_ptr(ed, ED, au, AU, __##au##_t *)
#define __octeon_cop2_aes_ed_64_au_vaddr64(ed, ED, au, AU) \
CNASM_##AU##LD(tmp0, 0, s) \
CNASM_##AU##LD(tmp1, 8, s) \
CNASM_##AU##LD(tmp2, 16, s) \
CNASM_##AU##LD(tmp3, 24, s) \
CNASM_##AU##SD(tmp0, 0, d) \
CNASM_##AU##SD(tmp1, 8, d) \
CNASM_##AU##SD(tmp2, 16, d) \
CNASM_##AU##SD(tmp3, 24, d) \
CNASM_##AU##LD(tmp0, 32, s) \
CNASM_##AU##LD(tmp1, 40, s) \
CNASM_##AU##LD(tmp2, 48, s) \
CNASM_##AU##LD(tmp3, 56, s) \
CNASM_##AU##SD(tmp0, 32, d) \
CNASM_##AU##SD(tmp1, 40, d) \
CNASM_##AU##SD(tmp2, 48, d) \
CNASM_##AU##SD(tmp3, 56, d) \
#define __octeon_cop2_aes_ed_64_au_ptr(ed, ED, au, AU, ptr) \
#define __octeon_cop2_aes_ed_64_au(ed, ED, au, AU) \
__octeon_cop2_aes_ed_64_au_vaddr64(ed, ED, au, AU) \
__octeon_cop2_aes_ed_64_au_ptr(ed, ED, au, AU, __##au##_t *)
#define __octeon_cop2_des_ed_8_au_vaddr64(ed, ED, au, AU) \
CNASM_##AU##LD(tmp0, 0, s) \
CNASM_##AU##SD(tmp0, 0, s) \
#define __octeon_cop2_des_ed_8_au_ptr(ed, ED, au, AU, ptr) \
#define __octeon_cop2_des_ed_8_au(ed, ED, au, AU) \
__octeon_cop2_des_ed_8_au_vaddr64(ed, ED, au, AU) \
__octeon_cop2_des_ed_8_au_ptr(ed, ED, au, AU, __##au##_t *)
#define __octeon_cop2_des_ed_block_au_vaddr64(ed, ED, au, AU) \
CNASM_##AU##LD(tmp0, 0, s) \
CNASM_##AU##SD(tmp0, 0, d) \
#define __octeon_cop2_des_ed_block_au_ptr(ed, ED, au, AU, ptr) \
#define __octeon_cop2_des_ed_block_au(ed, ED, au, AU) \
__octeon_cop2_des_ed_block_au_vaddr64(ed, ED, au, AU) \
__octeon_cop2_des_ed_block_au_ptr(ed, ED, au, AU, __##au##_t *)
#define __octeon_cop2_des_ed_64_au_vaddr64(ed, ED, au, AU) \
CNASM_##AU##LD(tmp0, 0, s) \
CNASM_##AU##LD(tmp1, 8, s) \
CNASM_##AU##LD(tmp2, 16, s) \
CNASM_##AU##LD(tmp3, 24, s) \
CNASM_##AU##SD(tmp0, 0, d) \
CNASM_##AU##SD(tmp1, 8, d) \
CNASM_##AU##SD(tmp2, 16, d) \
CNASM_##AU##SD(tmp3, 24, d) \
CNASM_##AU##LD(tmp0, 32, s) \
CNASM_##AU##LD(tmp1, 40, s) \
CNASM_##AU##LD(tmp2, 48, s) \
CNASM_##AU##LD(tmp3, 56, s) \
CNASM_##AU##SD(tmp0, 32, d) \
CNASM_##AU##SD(tmp1, 40, d) \
CNASM_##AU##SD(tmp2, 48, d) \
CNASM_##AU##SD(tmp3, 56, d) \
#define __octeon_cop2_des_ed_64_au_ptr(ed, ED, au, AU, ptr) \
#define __octeon_cop2_des_ed_64_au(ed, ED, au, AU) \
__octeon_cop2_des_ed_64_au_vaddr64(ed, ED, au, AU) \
__octeon_cop2_des_ed_64_au_ptr(ed, ED, au, AU, __##au##_t *)
#define __octeon_cop2_aes_set_key_au_vaddr64(au, AU) \
CNASM_##AU##LD(tmp0, 0, key) \
CNASM_##AU##LD(tmp1, 8, key) \
CNASM_##AU##LD(tmp2, 16, key) \
CNASM_##AU##LD(tmp3, 24, key) \
#define __octeon_cop2_aes_set_key_au_ptr(au, AU, ptr) \
M(NONE, 'A','U', AU), /* author */
M(NONE, 'A','I', AU), /* authors institution */
static int AU(pacmac);