vfio_ap_validate_nib(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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