}
};
+static const VMStateDescription mips_vmstate_octeon_crypto = {
+ .name = "cpu/octeon_crypto",
+ .version_id = 1,
+ .minimum_version_id = 1,
+ .needed = mips_octeon_needed,
+ .fields = (const VMStateField[]) {
+ VMSTATE_UINT64_ARRAY(env.octeon_crypto.hsh_dat, MIPSCPU, 16),
+ VMSTATE_UINT64_ARRAY(env.octeon_crypto.hsh_iv, MIPSCPU, 8),
+ VMSTATE_UINT64(env.octeon_crypto.sha3_dat24, MIPSCPU),
+ VMSTATE_UINT64_ARRAY(env.octeon_crypto.des3_key, MIPSCPU, 3),
+ VMSTATE_UINT64(env.octeon_crypto.des3_iv, MIPSCPU),
+ VMSTATE_UINT64(env.octeon_crypto.des3_result, MIPSCPU),
+ VMSTATE_UINT64_ARRAY(env.octeon_crypto.aes_resinp, MIPSCPU, 2),
+ VMSTATE_UINT64_ARRAY(env.octeon_crypto.aes_iv, MIPSCPU, 2),
+ VMSTATE_UINT64_ARRAY(env.octeon_crypto.aes_key, MIPSCPU, 4),
+ VMSTATE_UINT32(env.octeon_crypto.crc_poly, MIPSCPU),
+ VMSTATE_UINT32(env.octeon_crypto.crc_iv, MIPSCPU),
+ VMSTATE_UINT64_ARRAY(env.octeon_crypto.gfm_mul, MIPSCPU, 2),
+ VMSTATE_UINT64_ARRAY(env.octeon_crypto.gfm_resinp, MIPSCPU, 2),
+ VMSTATE_UINT16(env.octeon_crypto.gfm_poly, MIPSCPU),
+ VMSTATE_UINT8(env.octeon_crypto.aes_keylen, MIPSCPU),
+ VMSTATE_UINT8(env.octeon_crypto.crc_len, MIPSCPU),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
const VMStateDescription vmstate_mips_cpu = {
.name = "cpu",
.version_id = 21,
.subsections = (const VMStateDescription * const []) {
&mips_vmstate_timer,
&mips_vmstate_octeon_multiplier,
+ &mips_vmstate_octeon_crypto,
NULL
}
};