linux_syscalls/env/aux/
arm.rs1use super::{aux_t, AuxValue, Sealed};
2
3crate::bitflags! {
4 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
5 pub enum Features: usize {
6 SWP = 1 << 0,
7 HALF = 1 << 1,
8 THUMB = 1 << 2,
9 B26 = 1 << 3,
10 FAST_MULT = 1 << 4,
11 FPA = 1 << 5,
12 VFP = 1 << 6,
13 EDSP = 1 << 7,
14 JAVA = 1 << 8,
15 IWMMXT = 1 << 9,
16 CRUNCH = 1 << 10,
17 THUMBEE = 1 << 11,
18 NEON = 1 << 12,
19 #[allow(non_upper_case_globals)]
20 VFPv3 = 1 << 13,
21 #[allow(non_upper_case_globals)]
22 VFPv3D16 = 1 << 14,
23 TLS = 1 << 15,
24 #[allow(non_upper_case_globals)]
25 VFPv4 = 1 << 16,
26 IDIVA = 1 << 17,
27 IDIVT = 1 << 18,
28 VFPD32 = 1 << 19,
29 IDIV = Self::IDIVA.bits() | Self::IDIVT.bits(),
30 LPAE = 1 << 20,
31 EVTSTRM = 1 << 21,
32 FPHP = 1 << 22,
33 ASIMDHP = 1 << 23,
34 ASIMDDP = 1 << 24,
35 ASIMDFHM = 1 << 25,
36 ASIMDBF16 = 1 << 26,
37 I8MM = 1 << 27,
38 }
39
40 impl Sealed for Features {}
41 impl AuxValue for Features {
42 fn from(value: aux_t) -> Self {
43 (value as usize).into()
44 }
45 }
46}
47
48crate::bitflags! {
49 #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
50 pub enum Features2: usize {
51 AES = 1 << 0,
52 PMULL = 1 << 1,
53 SHA1 = 1 << 2,
54 SHA2 = 1 << 3,
55 CRC32 = 1 << 4,
56 SB = 1 << 5,
57 SSBS = 1 << 6,
58 }
59
60 impl Sealed for Features2 {}
61 impl AuxValue for Features2 {
62 fn from(value: aux_t) -> Self {
63 (value as usize).into()
64 }
65 }
66}