diff --git a/src/arch/x86_64/paging/entry.rs b/src/arch/x86_64/paging/entry.rs index 3f59f0e1e1f1321fd78b1b1f1ba7edb2351e7823..56f9755bc3f2eafe5335e459bde62a219cf58814 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 28f5982549296ae5183add5e8b19aa3a67be6dfb..9ebfcef6efcb25319652c4b7c3834da00bff6695 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<L: TableLevel> { entries: [Entry; ENTRY_COUNT], level: PhantomData<L>,