xe_bo_create_pin_range_novm(9)
π xe_bo_create_pin_range_novm(9) β Kernel API Manual π
okay so bestie, welcome to the Kernel API Manual page for xe_bo_create_pin_range_novm(9). This is where we create and pin a BO with range options, and it's giving very specific kernel energy. No cap, the signature is a whole little squad of types, so let's get into it. π
πΈ NAME πΈ
xe_bo_create_pin_range_novm β create and pin a BO with range options. Periodt. π
β¨ SYNOPSIS β¨
The whole signature, exactly as it appears, because we do not mess with code in this house:
struct xe_bo * xe_bo_create_pin_range_novm (struct xe_device *xe ,
struct xe_tile *tile , size_t size , u64 start , u64 end , enum
ttm_bo_type type , u32 flags );
π ARGUMENTS π
xeβ the xe device. That's the main character of this call. β¨tileβ the tile to select for migration of this bo, and the tile used for GGTT binding if any. Only to be non-NULLforttm_bo_type_kernelbos. iykyk.sizeβ the storage size to use for the bo. Like, how much room are we booking? simple as that.startβ start of fixed VRAM range or0.endβ end of fixed VRAM range or~0ULL.typeβ the TTM buffer object type. Gotta know what kind of BO we're creating. fr fr.flagsβXE_BO_FLAG_flags. Yes, those flags. π
π¦ DESCRIPTION π¦
Create an Xe BO with range- and options. That's the whole vibe.
β οΈ Ifstartandendindicate a fixed VRAM range, this must be attm_bo_type_kernelbo with VRAM placement only. No cap, that part is a hard requirement.
π RETURN π
On success, you get the buffer object. On failure, you get a negative error pointer. Slay when it works, sigh when it doesn't. π
π₯ SEE ALSO π₯
Kernel file ./drivers/gpu/drm/xe/xe_bo.c is the home base, and the whole friend group is here:
xe_bo_has_single_placement(9)xe_bo_is_stolen_devmem(9)xe_bo_is_vm_bound(9)xe_bo_pin_account(9)xe_bo_unpin_account(9)xe_bo_is_visible_vram(9)xe_bo_move_notify(9)xe_bo_set_purgeable_shrinker(9)xe_bo_set_purgeable_state(9)xe_ttm_bo_purge(9)xe_bo_shrink(9)xe_bo_notifier_prepare_pinned(9)xe_bo_notifier_unprepare_pinned(9)xe_bo_evict_pinned(9)xe_bo_restore_pinned(9)xe_bo_read(9)xe_bo_alloc(9)xe_bo_free(9)xe_bo_init_locked(9)xe_bo_create_locked(9)xe_bo_create_user(9)xe_bo_create_pin_map_at_novm(9)xe_bo_create_pin_map(9)xe_bo_create_pin_map_novm(9)xe_managed_bo_reinit_in_vram(9)xe_bo_pin_external(9)xe_bo_pin(9)xe_bo_unpin_external(9)xe_bo_validate(9)xe_bo_decompress(9)xe_bo_lock(9)xe_bo_unlock(9)xe_bo_can_migrate(9)xe_bo_migrate(9)xe_bo_evict(9)xe_bo_needs_ccs_pages(9)__xe_bo_release_dummy(9)xe_bo_put_commit(9)xe_bo_dev_init(9)xe_bo_dev_fini(9)xe_bo_dumb_create(9)
Mwah π This page comes from ./drivers/gpu/drm/xe β that's the source/version line, bestie β and it's dated October 2026. It's the xe_bo_create_pin_range_novm(9) manual page, and we are so done here. Bye bestie! ππ«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms