diff --git a/aarch64/src/lib.rs b/aarch64/src/lib.rs index 888eac7a72..7a0bcf994a 100644 --- a/aarch64/src/lib.rs +++ b/aarch64/src/lib.rs @@ -68,8 +68,8 @@ use vm_memory::GuestMemoryError; mod fdt; -// We place the kernel at offset 8MB -const AARCH64_KERNEL_OFFSET: u64 = 0x800000; +// We place the kernel at the very beginning of physical memory. +const AARCH64_KERNEL_OFFSET: u64 = 0; const AARCH64_FDT_MAX_SIZE: u64 = 0x200000; const AARCH64_INITRD_ALIGN: u64 = 0x1000000; diff --git a/docs/book/src/appendix/memory_layout.md b/docs/book/src/appendix/memory_layout.md index 9cc01c0971..9c6d22a66b 100644 --- a/docs/book/src/appendix/memory_layout.md +++ b/docs/book/src/appendix/memory_layout.md @@ -69,7 +69,7 @@ These apply when no bootloader is passed, so crosvm boots a kernel directly. | Name/source link | Address | End (exclusive) | Size | Notes | | ------------------------- | ----------------- | --------------- | ----- | ---------------------------- | -| [`AARCH64_KERNEL_OFFSET`] | `8080_0000` | | | Kernel load location in RAM | +| [`AARCH64_KERNEL_OFFSET`] | `8000_0000` | | | Kernel load location in RAM | | [`initrd_addr`] | after kernel | | | Linux initrd location in RAM | | [`fdt_address`] | before end of RAM | | 2 MiB | Flattened device tree in RAM |