qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gavin Shan <gwshan@linux.vnet.ibm.com>
To: Gavin Shan <gwshan@linux.vnet.ibm.com>
Cc: mdroth@linux.vnet.ibm.com, aik@ozlabs.ru, agraf@suse.de,
	qemu-devel@nongnu.org, alex.williamson@redhat.com,
	qemu-ppc@nongnu.org, david@gibson.dropbear.id.au
Subject: Re: [Qemu-devel] [PATCH v19 0/2] EEH Support for VFIO Devices
Date: Tue, 3 Mar 2015 10:41:19 +1100	[thread overview]
Message-ID: <20150302234119.GA7422@shangw> (raw)
In-Reply-To: <1424408333-26548-1-git-send-email-gwshan@linux.vnet.ibm.com>

On Fri, Feb 20, 2015 at 03:58:51PM +1100, Gavin Shan wrote:

agraf, could you help taking a look on this when you have available time?

Thanks,
Gavin

>The series of patches adds support EEH for VFIO PCI devices on sPAPR platform.
>It requires corresponding host kernel support, which was merged during 3.17
>merge window. This patchset has been rebased to Alex Graf's QEMU repository:
>
>   git://github.com/agraf/qemu.git (branch: ppc-next)
>
>The implementations notes are below. Please consider for merging!
>
>* RTAS calls are received in spapr_pci.c, sanity check is done there. RTAS
>  handlers handle what they can. If there is something it cannot handle and
>  sPAPRPHBClass EEH callback is defined, it is called.
>* sPAPRPHBClass EEH callbacks are only implemented for VFIO now. It does ioctl()
>  to the IOMMU container fd to complete the call. Error codes from that ioctl()
>  are transferred back to the guest.
>
>Changelog
>=========
>v18 -> v19:
>    * Check the validity of PCI device address in sPAPRPHBClass::eeh_set_option()
>      when enabling EEH functionality.
>v17 -> v18:
>    * Check options in sPAPRPHBClass callbacks for RTAS call "ibm,set-eeh-option"
>      and "ibm,set-slot-reset".
>    * Return RTAS_OUT_PARAM_ERROR on errors and RTAS_OUT_NO_ERRORS_FOUND on success
>      as we don't have error log yet.
>v16 -> v17:
>    * Split sPAPRPHBClass::eeh_handler() to multiple callbacks according to David
>      Gibson's suggestion
>    * Make comments for the form of PE address more precise and merge the condition
>      checking on the option in rtas_ibm_get_config_addr_info2() to improve code
>      readability
>    * Return RTAS_OUT_PARAM_ERROR for invalid number of arguments to function
>      rtas_ibm_slot_error_detail(), which is inconsistent with PAPR spec
>v15 -> v16:
>    * Drop rtas_handle_eeh_request() and merge the logic to its callers so that
>      more accurate return values can be returned for RTAS calls in the callers
>    * Always return 1 ("No error log") for RTAS call "ibm,slot-error-detail" and
>      correct wrong return values for other RTAS calls according to David Gibson's
>      suggestions.
>    * Make fall-through more obvious for case of negative return value from
>      sPAPRPHBClass::eeh_handler()
>    * Clear the argument buffer passed to ioctl()
>    * Rename sPAPRPHBClass variable from "info" to "spc"
>v14 -> v15:
>    * Dropped unrelated patch making find_phb()/find_dev() public.
>    * Checking RTAS parameter number before accessing RTAS parameter buffer for
>      more safety.
>    * Return hardware error from RTAS call "ibm,set-eeh-option" and "ibm,set-slot-reset"
>      for some cases according to PAPR spec.
>v13 -> v14:
>    * Check if sPAPRPHBState instance is valid before converting it to the
>      corresponding class as pointed by Alex Graf.
>v12 -> v13:
>    * Rebase to Alex Graf's QEMU repository ("ppc-next" branch).
>    * Drop the patch for header file (vfio.h) changes, which was merged
>      to QEMU repository by commit a9fd1654 ("linux-headers: update to 3.17-rc7").
>    * Retested on Emulex adapter and EEH errors are recovered successfully.
>
>Gavin Shan (2):
>  sPAPR: Implement EEH RTAS calls
>  sPAPR: Implement sPAPRPHBClass EEH callbacks
>
> hw/ppc/spapr_pci.c          | 271 ++++++++++++++++++++++++++++++++++++++++++++
> hw/ppc/spapr_pci_vfio.c     | 115 +++++++++++++++++++
> hw/vfio/common.c            |   1 +
> include/hw/pci-host/spapr.h |   4 +
> include/hw/ppc/spapr.h      |  43 ++++++-
> 5 files changed, 432 insertions(+), 2 deletions(-)
>
>-- 
>1.8.3.2
>

  parent reply	other threads:[~2015-03-02 23:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-20  4:58 [Qemu-devel] [PATCH v19 0/2] EEH Support for VFIO Devices Gavin Shan
2015-02-20  4:58 ` [Qemu-devel] [PATCH v19 1/2] sPAPR: Implement EEH RTAS calls Gavin Shan
2015-02-20  4:58 ` [Qemu-devel] [PATCH v19 2/2] sPAPR: Implement sPAPRPHBClass EEH callbacks Gavin Shan
2015-03-02 23:41 ` Gavin Shan [this message]
2015-03-04 12:33 ` [Qemu-devel] [PATCH v19 0/2] EEH Support for VFIO Devices Alexander Graf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150302234119.GA7422@shangw \
    --to=gwshan@linux.vnet.ibm.com \
    --cc=agraf@suse.de \
    --cc=aik@ozlabs.ru \
    --cc=alex.williamson@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).