• Tony Krowiak's avatar
    s390/vfio-ap: add s390dbf logging to the vfio_ap_irq_enable function · 783f0a3c
    Tony Krowiak authored
    This patch adds s390dbf logging to the function that executes the
    PQAP(AQIC) instruction on behalf of the guest to which the queue for which
    interrupts are being enabled or disabled is attached.
    
    Currently, the vfio_ap_irq_enable function sets status response code 06
    (notification indicator byte address (nib) invalid) in the status word
    when the vfio_pin_pages function - called to pin the page containing the
    nib - returns an error or a different number of pages pinned than
    requested.
    
    Setting the response code returned to userspace without also logging a
    message in the kernel makes it impossible to determine whether the response
    was due to an error detected by the vfio_ap device driver or because the
    response code was returned by the firmware in response to the PQAP(AQIC)
    instruction.
    
    In addition to logging a warning for the situation above, this patch adds
    the following:
    
    * A function to validate the nib address invoked prior to calling the
      vfio_pin_pages function. This allows for logging a message informing
      the reader of the reason the page containing the nib can not be pinned
      if the nib address is not valid. Response code 06 (invalid nib address)
      will be set in the status word returned to the guest from the
      instruction.
    
    * Checks the return value from the kvm_s390_gisc_register and logs a
      message informing the reader of the failure. Status response code 08
      (invalid gisa) will be set in the status word returned to the guest from
      the PQAP(AQIC) instruction.
    
    * Checks the status response code returned from execution of the PQAP(AQIC)
      instruction and if it indicates an error, logs a message informing the
      reader.
    Signed-off-by: default avatarTony Krowiak <akrowiak@linux.ibm.com>
    Reviewed-by: default avatarMatthew Rosato <mjrosato@linux.ibm.com>
    Acked-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    783f0a3c
ap_bus.h 11.6 KB