diff --git a/src/arch/x86_64/paging/entry.rs b/src/arch/x86_64/paging/entry.rs index 3f59f0e..56f9755 100644 --- a/src/arch/x86_64/paging/entry.rs +++ b/src/arch/x86_64/paging/entry.rs @@ -6,6 +6,7 @@ use crate::memory::Frame; use super::PhysicalAddress; /// A page table entry +#[repr(packed(8))] pub struct Entry(u64); bitflags! { diff --git a/src/arch/x86_64/paging/table.rs b/src/arch/x86_64/paging/table.rs index 28f5982..9ebfcef 100644 --- a/src/arch/x86_64/paging/table.rs +++ b/src/arch/x86_64/paging/table.rs @@ -39,6 +39,7 @@ impl HierarchicalLevel for Level2 { type NextLevel = Level1; } +#[repr(packed(4096))] pub struct Table { entries: [Entry; ENTRY_COUNT], level: PhantomData,