ab_riscv_interpreter/zkr/
zkr_helpers.rs1use crate::zkr::ZkrSeedPoll;
4use ab_riscv_primitives::prelude::*;
5
6#[inline(always)]
12#[doc(hidden)]
13#[cfg_attr(feature = "no-panic", no_panic_const::no_panic)]
14pub const fn encode_seed_poll<Reg>(poll: ZkrSeedPoll) -> Reg::Type
15where
16 Reg: [const] Register,
17{
18 match poll {
19 ZkrSeedPoll::Bist => Reg::Type::from(0b00u8) << 30u8,
20 ZkrSeedPoll::Wait => Reg::Type::from(0b01u8) << 30u8,
21 ZkrSeedPoll::Es16(entropy) => (Reg::Type::from(0b10u8) << 30u8) | Reg::Type::from(entropy),
22 ZkrSeedPoll::Dead => Reg::Type::from(0b11u8) << 30u8,
23 }
24}