#![allow(non_camel_case_types)]
#[repr(u64)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub enum PagingMode {
#[cfg(target_arch = "x86_64")]
X86_64_4LVL = 0,
#[cfg(target_arch = "x86_64")]
X86_64_5LVL = 1,
#[cfg(target_arch = "aarch64")]
AARCH64_4LVL = 0,
#[cfg(target_arch = "aarch64")]
AARCH64_5LVL = 1,
#[cfg(target_arch = "riscv64")]
RISCV_SV39 = 0,
#[cfg(target_arch = "riscv64")]
RISCV_SV48 = 1,
#[cfg(target_arch = "riscv64")]
RISCV_SV57 = 2,
#[cfg(target_arch = "loongarch64")]
LOONGARCH64_4LVL = 0,
}
impl PagingMode {
#[cfg(target_arch = "x86_64")]
pub const MIN: PagingMode = PagingMode::X86_64_4LVL;
#[cfg(target_arch = "x86_64")]
pub const MAX: PagingMode = PagingMode::X86_64_5LVL;
#[cfg(target_arch = "aarch64")]
pub const MIN: PagingMode = PagingMode::AARCH64_4LVL;
#[cfg(target_arch = "aarch64")]
pub const MAX: PagingMode = PagingMode::AARCH64_5LVL;
#[cfg(target_arch = "riscv64")]
pub const MIN: PagingMode = PagingMode::RISCV_SV39;
#[cfg(target_arch = "riscv64")]
pub const MAX: PagingMode = PagingMode::RISCV_SV57;
#[cfg(target_arch = "loongarch64")]
pub const MIN: PagingMode = PagingMode::LOONGARCH64_4LVL;
#[cfg(target_arch = "loongarch64")]
pub const MAX: PagingMode = PagingMode::LOONGARCH64_4LVL;
}