STRUCT FSL_HV_IOCTL_MEMCPY(9)
πΈ STRUCT FSL_HV_IOCTL_MEMCPY π
okay bestie, so this is a page out of the Kernel API Manual and it's literally the struct that lets one partition copy memory into another partition π«Ά β like, hypervisor-mediated memory sharing, main character energy fr fr.
β¨ NAME β¨
struct fsl_hv_ioctl_memcpy β copy memory between partitions π
β SYNOPSIS β
struct fsl_hv_ioctl_memcpy {
__u32 ret;
__u32 source;
__u32 target;
__u32 reserved;
__u64 local_vaddr;
__u64 remote_paddr;
__u64 count;
};
no cap, that's the whole struct. every field exact, don't @ me π
π¦ MEMBERS π¦
okay so let's meet the cast, one field at a time:
retβ the return error code from the hypervisor. this is where the hypervisor tells you how it went π«sourceβ the partition ID of the source partition, or-1for this partition πΈtargetβ the partition ID of the target partition, or-1for this partition πreservedβ reserved, must be set to0. like, actually set it to0, okay? πlocal_vaddrβ user-space virtual address of a buffer in the local partition πremote_paddrβ guest physical address of a buffer in the remote partition β¨countβ the number of bytes to copy. Both the local and remote buffers must be at leastcountbytes long π
π DESCRIPTION π
Used by FSL_HV_IOCTL_MEMCPY. that's the ioctl, that's the whole vibe π§
The local partition is the partition that calls this ioctl. The the source paritition' to the target partition. (yeah, the original page is literally garbled right there π β I'm keeping it exactly as-is so you don't think I made it up, but the gist is a copy that goes from source to target π )
The buffer in the remote partition must be guest physically contiguous. no pressure, just a hard requirement π«Ά
This ioctl does not support copying memory between two remote partitions or within the same partition, so either source or
lowkey the sentence above just... ends. that's it. that's the whole line in the original. π
and then the rule itself, spelled out:
source == local and target == remote or source == remote and target == local
so basically: one side is local, the other is remote, no other combos, periodt π₯
π SEE ALSO π
- Kernel file
./include/uapi/linux/fsl_hypervisor.hstructfsl_hv_ioctl_restart(9) - struct
fsl_hv_ioctl_status(9) - struct
fsl_hv_ioctl_start(9) - struct
fsl_hv_ioctl_stop(9) - struct
fsl_hv_ioctl_doorbell(9) - struct
fsl_hv_ioctl_prop(9)
okay that's the whole page, bestie, you ate that π and the cute little sign-off: this one lives under ./include/uapi/linux and it's dated October 2026 β go forth and copy memory responsibly ππ
π
π¦ 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