Match PHYS_OFFSET accross archs

This commit is contained in:
Jeremy Soller
2022-08-19 20:53:15 -06:00
parent e05868e1dc
commit c5eb435d79
3 changed files with 6 additions and 9 deletions
+2 -3
View File
@@ -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);
}
}
+2 -3
View File
@@ -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() {
+2 -3
View File
@@ -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() {