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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.