From: Alvin Sun <[email protected]> SZ_4G is used by the Tyr driver when splitting the GPU VA range into user and kernel regions.
Signed-off-by: Alvin Sun <[email protected]> --- rust/bindings/bindings_helper.h | 1 + rust/kernel/sizes.rs | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/rust/bindings/bindings_helper.h b/rust/bindings/bindings_helper.h index 1124785e210b3..3c37993991b1e 100644 --- a/rust/bindings/bindings_helper.h +++ b/rust/bindings/bindings_helper.h @@ -110,6 +110,7 @@ const size_t RUST_CONST_HELPER_ARCH_SLAB_MINALIGN = ARCH_SLAB_MINALIGN; const size_t RUST_CONST_HELPER_ARCH_KMALLOC_MINALIGN = ARCH_KMALLOC_MINALIGN; const size_t RUST_CONST_HELPER_PAGE_SIZE = PAGE_SIZE; +const unsigned long long RUST_CONST_HELPER_SZ_4G = SZ_4G; const gfp_t RUST_CONST_HELPER_GFP_ATOMIC = GFP_ATOMIC; const gfp_t RUST_CONST_HELPER_GFP_KERNEL = GFP_KERNEL; const gfp_t RUST_CONST_HELPER_GFP_KERNEL_ACCOUNT = GFP_KERNEL_ACCOUNT; diff --git a/rust/kernel/sizes.rs b/rust/kernel/sizes.rs index 521b2b38bfe77..b236573f0792e 100644 --- a/rust/kernel/sizes.rs +++ b/rust/kernel/sizes.rs @@ -132,3 +132,15 @@ impl SizeConstants for $first { } define_sizes!(u32, u64, usize); + +/// Large size constants (≥ 4 GiB). +/// +/// Only implemented for `u64`. +pub trait LargeSizeConstants { + /// `0x1_0000_0000`. + const SZ_4G: Self; +} + +impl LargeSizeConstants for u64 { + const SZ_4G: Self = bindings::SZ_4G; +} -- 2.43.0
