aboutsummaryrefslogtreecommitdiff
path: root/mirai.old/common/limits/memory.zig
blob: dba20e66165a93b0fd6fd773fdcd4a03949738cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//! Memory limits

const memory_const = @import("../constants/memory.zig");

pub const KATA_SPACE_MAX: u64 = memory_const.KATA_SPACE_END;
pub const KATA_SPACE_MIN: u64 = memory_const.KATA_SPACE_START;
pub const MIRAI_SPACE_START: u64 = memory_const.HIGHER_HALF_START;

pub inline fn is_valid_kata_pointer(ptr: u64) bool {
    return ptr >= KATA_SPACE_MIN and ptr < KATA_SPACE_MAX;
}

pub inline fn is_kata_address(addr: u64) bool {
    return addr < KATA_SPACE_MAX;
}

pub inline fn is_mirai_address(addr: u64) bool {
    return addr >= MIRAI_SPACE_START;
}

pub inline fn is_kata_range(start: u64, size: u64) bool {
    if (start >= KATA_SPACE_MAX) return false;
    if (size == 0) return true;
    const end = start +% size;
    if (end < start) return false;
    return end <= KATA_SPACE_MAX;
}