hyperlight_common/
layout.rs1#[cfg_attr(target_arch = "x86_64", path = "arch/amd64/layout.rs")]
18#[cfg_attr(target_arch = "aarch64", path = "arch/aarch64/layout.rs")]
19mod arch;
20
21pub use arch::{
22 SCRATCH_TOP_GPA, SCRATCH_TOP_GVA, SNAPSHOT_PT_GVA_MAX, SNAPSHOT_PT_GVA_MIN, io_page,
23};
24
25pub const SCRATCH_TOP_SIZE_OFFSET: u64 = 0x08;
27pub const SCRATCH_TOP_ALLOCATOR_OFFSET: u64 = 0x10;
28pub const SCRATCH_TOP_SNAPSHOT_PT_GPA_BASE_OFFSET: u64 = 0x18;
29pub const SCRATCH_TOP_SNAPSHOT_GENERATION_OFFSET: u64 = 0x20;
30pub const SCRATCH_TOP_EXN_STACK_OFFSET: u64 = 0x30;
31
32pub fn scratch_base_gpa(size: usize) -> u64 {
33 (SCRATCH_TOP_GPA - size + 1) as u64
34}
35pub fn scratch_base_gva(size: usize) -> u64 {
36 (SCRATCH_TOP_GVA - size + 1) as u64
37}
38
39pub use arch::min_scratch_size;