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
>
next prev 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).