setup_apcb(9)
β¨ setup_apcb(9) β¨
okay so bestie, we're in the Kernel API Manual today and this one is literally about s390 crypto control blocks π buckle up π
π NAME π
setup_apcb β Create a shadow copy of the apcb.
like, it makes a shadow copy. a little twin. main character energy for a data structure π¦
πΈ SYNOPSIS πΈ
int setup_apcb (struct kvm_vcpu *vcpu , struct kvm_s390_crypto_cb
*crycb_s , const u32 crycb_gpa , struct kvm_s390_crypto_cb *crycb_h ,
int fmt_o , int fmt_h );
that's the whole signature, no cap. six things go in, an int comes out π₯
π«Ά ARGUMENTS π«Ά
vcpuβ pointer to the virtual CPU. the little virtual guy we're doing all this for πcrycb_sβ pointer to shadow crycb. yes bestie, the shadow copy lives here πcrycb_gpaβ guest physical address of original guest crycb. like, the address where the real one is chilling πcrycb_hβ pointer to the host crycb. the host's own version, iconic πfmt_oβ format of the original guest crycb. just the guest format, don't overthink it πfmt_hβ format of the host crycb. and this is the host's format πΈ
π DESCRIPTION π
so what it actually does: it checks the compatibility between the guest and host crycb and calls the appropriate copy function. that's it, that's the vibe check β¨
Return 0 or an error number if the guest and host crycb are incompatible. π like if they don't match, you get an error number back, that's the whole deal. no compatible formats, no shadow copy, periodt π
π¦ SEE ALSO π¦
- Kernel file
./arch/s390/kvm/s390/vsie.cβ that's where the tea is π« setup_apcb00(9)setup_apcb11(9)shadow_crycb(9)
and that's the page bestie, go read the friends too, iykyk π
signing off from ./arch/s390/kvm/s390, October 2026 β stay slay, stay compatible βπ
π¦ 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