blob: 39a8147346321349054d10126f604422ad8aa8e3 [file] [log] [blame]
Alice Wange243d462023-06-06 15:18:12 +00001// Copyright 2023, The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//! Memory layout for crosvm for aarch64 architecture.
16//!
17//! https://crosvm.dev/book/appendix/memory_layout.html#common-layout
18
Alice Wang89d29592023-06-12 09:41:29 +000019use core::ops::Range;
20
Alice Wang4c70d142023-06-06 11:52:33 +000021/// The start address of MMIO space.
22pub const MMIO_START: usize = 0x0;
23/// The end address of MMIO space.
Frederick Mayle803aa8c2024-11-22 13:45:55 -080024pub const MMIO_END: usize = PVMFW_START;
Alice Wang89d29592023-06-12 09:41:29 +000025/// MMIO range.
26pub const MMIO_RANGE: Range<usize> = MMIO_START..MMIO_END;
Alice Wang4c70d142023-06-06 11:52:33 +000027
Frederick Mayle803aa8c2024-11-22 13:45:55 -080028/// Start pvmfw region.
29pub const PVMFW_START: usize = 0x7fc00000;
30
Alice Wange243d462023-06-06 15:18:12 +000031/// The start of the system's contiguous "main" memory.
32pub const MEM_START: usize = 0x8000_0000;
Alice Wange9ae5c42023-06-12 11:14:13 +000033
34/// Size of the FDT region as defined by crosvm, both in kernel and BIOS modes.
35pub const FDT_MAX_SIZE: usize = 2 << 20;