diff --git a/src/arch/aarch64.rs b/src/arch/aarch64.rs index 2f19014316..608869918f 100644 --- a/src/arch/aarch64.rs +++ b/src/arch/aarch64.rs @@ -37,8 +37,7 @@ impl Arch for AArch64Arch { const ENTRY_FLAG_NO_EXEC: usize = 0b11 << 53; const ENTRY_FLAG_EXEC: usize = 0; - //TODO: adjust to match x86_64? - const PHYS_OFFSET: usize = 0xfffffe0000000000; + const PHYS_OFFSET: usize = 0xFFFF_8000_0000_0000; unsafe fn init() -> &'static [MemoryArea] { unimplemented!("AArch64Arch::init unimplemented"); @@ -119,6 +118,6 @@ mod tests { assert_eq!(AArch64Arch::ENTRY_ADDRESS_MASK, 0x000F_FFFF_FFFF_F000); assert_eq!(AArch64Arch::ENTRY_FLAGS_MASK, 0xFFF0_0000_0000_0FFF); - assert_eq!(AArch64Arch::PHYS_OFFSET, 0xFFFF_FE00_0000_0000); + assert_eq!(AArch64Arch::PHYS_OFFSET, 0xFFFF_8000_0000_0000); } } diff --git a/src/arch/riscv64/sv39.rs b/src/arch/riscv64/sv39.rs index ada80010a2..c8e5ce1b66 100644 --- a/src/arch/riscv64/sv39.rs +++ b/src/arch/riscv64/sv39.rs @@ -31,8 +31,7 @@ impl Arch for RiscV64Sv39Arch { const ENTRY_FLAG_NO_EXEC: usize = 0; const ENTRY_FLAG_EXEC: usize = 1 << 3; - //TODO: adjust to match x86_64? - const PHYS_OFFSET: usize = 0xfffffe0000000000; + const PHYS_OFFSET: usize = 0xFFFF_8000_0000_0000; unsafe fn init() -> &'static [MemoryArea] { unimplemented!("RiscV64Sv39Arch::init unimplemented"); @@ -90,7 +89,7 @@ mod tests { assert_eq!(RiscV64Sv39Arch::ENTRY_ADDRESS_MASK, 0x000F_FFFF_FFFF_F000); assert_eq!(RiscV64Sv39Arch::ENTRY_FLAGS_MASK, 0xFFF0_0000_0000_0FFF); - assert_eq!(RiscV64Sv39Arch::PHYS_OFFSET, 0xFFFF_FE00_0000_0000); + assert_eq!(RiscV64Sv39Arch::PHYS_OFFSET, 0xFFFF_8000_0000_0000); } #[test] fn is_canonical() { diff --git a/src/arch/riscv64/sv48.rs b/src/arch/riscv64/sv48.rs index 8ce33331ef..89cbeb4b69 100644 --- a/src/arch/riscv64/sv48.rs +++ b/src/arch/riscv64/sv48.rs @@ -31,8 +31,7 @@ impl Arch for RiscV64Sv48Arch { const ENTRY_FLAG_NO_EXEC: usize = 0; const ENTRY_FLAG_EXEC: usize = 1 << 3; - //TODO: adjust to match x86_64? - const PHYS_OFFSET: usize = 0xfffffe0000000000; + const PHYS_OFFSET: usize = 0xFFFF_8000_0000_0000; unsafe fn init() -> &'static [MemoryArea] { unimplemented!("RiscV64Sv48Arch::init unimplemented"); @@ -91,7 +90,7 @@ mod tests { assert_eq!(RiscV64Sv48Arch::ENTRY_ADDRESS_MASK, 0x000F_FFFF_FFFF_F000); assert_eq!(RiscV64Sv48Arch::ENTRY_FLAGS_MASK, 0xFFF0_0000_0000_0FFF); - assert_eq!(RiscV64Sv48Arch::PHYS_OFFSET, 0xFFFF_FE00_0000_0000); + assert_eq!(RiscV64Sv48Arch::PHYS_OFFSET, 0xFFFF_8000_0000_0000); } #[test] fn is_canonical() {