blob: 89c4554c1fc0a631e9a052342567bbdbb3a512bb [file] [log] [blame]
Alice Wang4dd20932023-05-26 13:47:16 +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 management.
16
17mod dbm;
Alice Wang110476e2023-06-07 13:12:21 +000018mod error;
Pierre-Clément Tosi3d4c5c32023-05-31 16:57:06 +000019mod page_table;
Alice Wangf47b2342023-06-02 11:51:57 +000020mod shared;
Pierre-Clément Tosi90dfd692024-10-30 19:36:46 +000021mod tracker;
Alice Wangf47b2342023-06-02 11:51:57 +000022mod util;
Alice Wang4dd20932023-05-26 13:47:16 +000023
Alice Wang110476e2023-06-07 13:12:21 +000024pub use error::MemoryTrackerError;
Alice Wangb73a81b2023-06-07 13:05:09 +000025pub use page_table::PageTable;
Pierre-Clément Tosi90dfd692024-10-30 19:36:46 +000026pub use shared::MemoryRange;
27pub use tracker::{MemoryTracker, MEMORY};
Alice Wang3fa9b802023-06-06 07:52:31 +000028pub use util::{
Pierre-Clément Tosic08e63c2024-05-14 11:17:47 +010029 flush, flushed_zeroize, min_dcache_line_size, page_4kb_of, PAGE_SIZE, SIZE_128KB, SIZE_16KB,
30 SIZE_2MB, SIZE_4KB, SIZE_4MB, SIZE_64KB,
Alice Wang3fa9b802023-06-06 07:52:31 +000031};
Alice Wang6c4cda02023-07-18 08:18:07 +000032
33pub(crate) use shared::{alloc_shared, dealloc_shared};
34pub(crate) use util::{phys_to_virt, virt_to_phys};