1use crate::VirtAddr;
4
5pub mod gdt;
6
7pub mod idt;
8
9#[cfg(feature = "memory_encryption")]
10pub mod mem_encrypt;
11pub mod paging;
12pub mod port;
13pub mod tss;
14
15#[derive(Debug, Clone, Copy)]
18#[repr(C, packed(2))]
19pub struct DescriptorTablePointer {
20 pub limit: u16,
22 pub base: VirtAddr,
24}
25
26#[cfg(test)]
27mod tests {
28 use super::*;
29 use std::mem::size_of;
30
31 #[test]
32 pub fn check_descriptor_pointer_size() {
33 assert_eq!(size_of::<DescriptorTablePointer>(), 10);
35 let p = DescriptorTablePointer {
37 limit: 5,
38 base: VirtAddr::zero(),
39 };
40 let _: &u16 = &p.limit;
41 }
42}