vfio_ap_validate_nib(9)
β¨ NAME β¨
okay bestie, welcome to the vfio_ap_validate_nib(9) page from the Kernel API Manual π β this is literally the function that validates a notification indicator byte (nib) address, no cap.
vfio_ap_validate_nibβ validate a notification indicator byte (nib) address. that's the whole vibe. π
π SYNOPSIS π
so here's the code vibe check:
int vfio_ap_validate_nib (struct kvm_vcpu *vcpu , dma_addr_t *nib );
π ARGUMENTS π
vcpuβ the object representing the vcpu that's executing the PQAP(AQIC) instruction. like, it's the main character here, honestly. πnibβ the location for storing the nib address. that's where we put the nib, bestie. π
πΈ DESCRIPTION πΈ
okay so picture this: when the PQAP(AQIC) instruction is executed, general register 2 is literally holding the address of the notification indicator byte (nib) used for IRQ notification. and this function? it parses and validates the nib from gr2. it's giving "validation era" and we're obsessed. β¨
π¦ RETURN π¦
returns zero if the nib address is valid β slay! otherwise, it returns -EINVAL. not slay, but fair. π
π₯ SEE ALSO π₯
check out the kernel file ./drivers/s390/crypto/vfio_ap_ops.c β that's where the magic happens. and also the whole friend group: get_update_locks_for_kvm(9), release_update_locks_for_kvm(9), get_update_locks_for_mdev(9), release_update_locks_for_mdev(9), get_update_locks_by_apqn(9), get_update_locks_for_queue(9), vfio_ap_mdev_get_queue(9), vfio_ap_wait_for_irqclear(9), vfio_ap_free_aqic_resources(9), vfio_ap_irq_disable(9), ensure_nib_shared(9), vfio_ap_irq_enable(9), vfio_ap_le_guid_to_be_uuid(9), handle_pqap(9), vfio_ap_mdev_verify_no_sharing(9), vfio_ap_mdev_validate_masks(9), assign_adapter_store(9), vfio_ap_mdev_unlink_adapter(9), unassign_adapter_store(9), assign_domain_store(9), unassign_domain_store(9), assign_control_domain_store(9), unassign_control_domain_store(9), vfio_ap_mdev_set_kvm(9), vfio_ap_mdev_unset_kvm(9), vfio_ap_mdev_resource_in_use(9), vfio_ap_mdev_hot_unplug_cfg(9), vfio_ap_mdev_cfg_remove(9), vfio_ap_mdev_on_cfg_remove(9), vfio_ap_filter_apid_by_qtype(9), vfio_ap_mdev_cfg_add(9), vfio_ap_mdev_on_cfg_add(9), vfio_ap_on_cfg_changed(9) β iykyk, they're all iconic. π
that's the tea, bestie π«Ά this gem lives in ./drivers/s390/crypto and it was last updated October 2026 β go off and validate those nibs, periodt. π
β¨
π¦ 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