mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-09 20:04:20 +00:00
aarch64: load arm64 kernels at physical address 0
There is no reason to leave an 8 MB gap at the beginning of guest memory; shift the kernel load address down to the very beginning of RAM. This accomodates alternate ELF kernels that want to be loaded at address 0 as well. BUG=b:254601048 TEST=boot crostini on arm Change-Id: Iaa58efc5b20046732ef0f75b3c779134a3ee454b Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4015002 Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
This commit is contained in:
parent
b6c3227d2d
commit
e7473e600e
2 changed files with 3 additions and 3 deletions
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 |
|
||||
|
||||
|
|
Loading…
Reference in a new issue