read_guest_with_key(9)
π read_guest_with_key(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β this is the page for read_guest_with_key(9), and honestly? it's giving "tiny function, big responsibilities" and i'm obsessed π
πΈ NAME πΈ
read_guest_with_key β copy data from guest space to kernel space π«
like literally that's the whole job. copy the data. move it over. slay π
β¨ SYNOPSIS β¨
int read_guest_with_key (struct kvm_vcpu *vcpu , unsigned long ga , u8
ar , void *data , unsigned long len , u8 access_key );
one function, six arguments, no notes π (jk there are notes, they're right below π«Ά)
π¦ ARGUMENTS π¦
vcpuβ virtual cpu. the whole entire vibe of this operation, lowkey the main character here πgaβ guest address. this is where in guest space we're reading from, iykyk πarβ access register. yes bestie it's exactly what it sounds like πdataβ destination address in kernel space. the data's new home π β¨lenβ number of bytes to copy. not one more, not one less, we're precise here fr fr π’access_keyβ access key the storage key needs to match. it's a whole vibe check for keys ππ
π§ DESCRIPTION π§
so the tea is: copy len bytes from ga (guest address) over to data (kernel space). that's it. that's the function. short king behavior honestly ππ«Ά
and here's the iconic part β the behaviour of read_guest_with_key is identical to write_guest_with_key, except that data will be copied from guest space to kernel space. π like yes they're twins but this one reads instead of writes, periodt π«
ngl it's a beautiful little family of functions and this one knows exactly which direction it's going ππ·
π₯ SEE ALSO π₯
Kernel file ./arch/s390/kvm/s390/gaccess.h π β go read the header if you want the full lore, it's a whole rabbit hole ππ
then the rest of the squad, all iconic, all linked, no cap:
kvm_s390_real_to_abs(9)_kvm_s390_logical_to_effective(9)kvm_s390_logical_to_effective(9)put_guest_lc(9)write_guest_lc(9)read_guest_lc(9)write_guest_with_key(9)write_guest(9)read_guest(9)read_guest_instr(9)write_guest_abs(9)read_guest_abs(9)write_guest_real(9)read_guest_real(9)
anyway bestie that's the page π live your truth, read your guest bytes, and remember: it's len bytes, not a suggestion π
π mwah, bye bestie! this manual page lives at ./arch/s390/kvm/s390 and it was dated October 2026 β keep that in your notes, it's the receipt π§Ύβ¨ π¦πΈπ
π¦ 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