os/util/
address.rs

1//! 地址相关工具函数
2
3/// 这是一个安全且常见的 align_down 实现
4/// T 必须是整数类型
5pub fn align_down(addr: usize, align: usize) -> usize {
6    // 对齐值必须是 2 的幂,否则行为可能不正确
7    debug_assert!(align.is_power_of_two());
8
9    // 计算当前地址的偏移量 (misalignment)
10    let misalign = addr & (align - 1);
11
12    // 返回向下对齐后的地址
13    addr - misalign
14}