blob: d859b2014d58afcd5bc9bec13217e585ee493c31 [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.
24pub const MMIO_END: usize = 0x4000_0000;
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
Alice Wange243d462023-06-06 15:18:12 +000028/// The start of the system's contiguous "main" memory.
29pub const MEM_START: usize = 0x8000_0000;
Alice Wange9ae5c42023-06-12 11:14:13 +000030
31/// Size of the FDT region as defined by crosvm, both in kernel and BIOS modes.
32pub const FDT_MAX_SIZE: usize = 2 << 20;