1use super::page_table::{attr, entry::PTDesc};
2use crate::config::PAGE_SIZE;
3
4use armv9a::bits_in_reg;
5use vmsa::page::PageSize;
6
7#[derive(Clone, Copy)]
9pub enum BasePageSize {}
10impl PageSize for BasePageSize {
11 const SIZE: usize = PAGE_SIZE;
12 const MAP_TABLE_LEVEL: usize = 3;
13 const MAP_EXTRA_FLAG: u64 = bits_in_reg(PTDesc::TYPE, attr::page_type::TABLE_OR_PAGE)
14 | bits_in_reg(PTDesc::SH, attr::shareable::INNER)
15 | bits_in_reg(PTDesc::VALID, 1)
16 | bits_in_reg(PTDesc::AF, 1);
17}