From: David Gibson <david@gibson.dropbear.id.au>
To: Gavin Shan <gwshan@linux.vnet.ibm.com>
Cc: lvivier@redhat.com, peter.maydell@linaro.org, thuth@redhat.com,
qemu-ppc@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v8 0/7] sPAPR: Support EEH Error Injection
Date: Mon, 14 Sep 2015 14:14:16 +1000 [thread overview]
Message-ID: <20150914041416.GI2547@voom.fritz.box> (raw)
In-Reply-To: <1442194575-8537-1-git-send-email-gwshan@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 5079 bytes --]
On Mon, Sep 14, 2015 at 11:36:08AM +1000, Gavin Shan wrote:
> The patchset depends on below Linux upstream commits:
>
> commit ed3e81f ("powerpc/eeh: Move PE state constants around")
> commit ec33d36 ("powerpc/eeh: Introduce eeh_pe_inject_err()")
>
> According to PAPR specification 2.7, there're 3 RTAS calls relevent to error
> injection: "ibm,open-errinjct", "ibm,close-errinjct", "ibm,errinjct". The
> userland utility "errinjct" running on guest utilizes those 3 RTAS calls like
> this way: Call "ibm,open-errinjct" that returns open-token, which is passed to
> "ibm,errinjct" together with error specific arguments to do error injection.
> Finally, to return the open-token by calling "ibm,close-errinject".
>
> "ibm,errinjct" can be used to inject various errors, not limited to EEH errors.
> However, this patchset is going to support injecting EEH errors only for VFIO
> PCI devices.
I'm happy to merge 6..7/7 once 1..5/7 are in - I'm not sure what tree
they should be going through.
> =========
> Changelog
> =========
> v8:
> * Rebased to git://github.com/dgibson/qemu.git (branch: spapr-next)
> * Apply "git -C $to commit" to update-linux-headers.sh.
> * Use "git rev-parse --short HEAD" to retrieve top commit
> * Use "EOF" to construct the commit message
> * Drop sPAPRPHBClass::eeh_inject_error().
> v7:
> * Cover comments from Peter Maydell in scripts/update-linux-headers.sh.
> * Reset spapr->errinjct_token when rebooting guest.
> v6:
> * Improved scripts/update-linux-headers.sh to format commit log with
> last commit ID and Linux kernel version. Also, "stdint.h" is allowed
> to be included in virtio headers.
> * #include "asm-powerpc/eeh.h".
> * Incremental spapr->errinjct_token so that the condition (0x1 &
> spapr->errinjct_token) can be used to check if the token is valid.
> * Big-endian tokens in /rtas/ibm,errinjct-tokens.
> * Pick rtas_ldq() to load 64-bits value from RTAS call buffer, which
> was dropped in v2.
> * Use EEH_ERR_FUNC_MAX to validate EEH error function.
> * Removed unnecessary paranthesitis.
> v5:
> * Put "errinjct_token" to migration stream disregarding it's opened or
> not. Also, it starts to be supported from v4 vmstate_spapr.
> * Include powerpc/include/uapi/asm/eeh.h in scripts/update_linux_headers.sh
> v4:
> * To record currently opened token, not next one as suggested by Alexey.
> v3:
> * Replace random token number with incremental counter. Another boolean
> variable to track if it's opened. Both of them are added to migration
> stream.
> * The return value from sPAPRPHBClass::eeh_inject_error() can be passed
> to user directly. No need to do conversion.
> * Corrected error code to RTAS_OUT_CLOSE_ERROR in rtas_ibm_errinjct().
> * Don't expose error injection tokens for unsupported types.
> v2:
> * Rebased to git://github.com/dgibson/qemu.git (branch: spapr-next)
> * Remove specific PCI error types in hw/ppc/spapr.h. Use those macros
> asm-powerpc/eeh.h instead.
>
> Gavin Shan (7):
> scripts: Allow include "stdint.h" in virtio headers
> scripts: Include arch/powerpc/include/uapi/asm/eeh.h
> scripts: Submit changes while updating linux headers
> Synchronize Linux headers from kernel 4.3.0-rc1
> Obsolete PCI_MSIX_FLAGS_BIRMASK
> sPAPR: Support RTAS call ibm, {open, close}-errinjct
> sPAPR: Support RTAS call ibm,errinjct
>
> hw/i386/kvm/pci-assign.c | 4 +-
> hw/pci/msix.c | 2 +-
> hw/pci/pcie_aer.c | 2 +-
> hw/ppc/spapr.c | 9 +-
> hw/ppc/spapr_pci.c | 30 +++
> hw/ppc/spapr_pci_vfio.c | 32 +++
> hw/ppc/spapr_rtas.c | 137 ++++++++++
> hw/s390x/s390-pci-bus.c | 8 +-
> hw/vfio/pci.c | 8 +-
> hw/xen/xen_pt_msi.c | 4 +-
> include/hw/pci-host/spapr.h | 3 +
> include/hw/ppc/spapr.h | 16 +-
> include/standard-headers/linux/pci_regs.h | 381 ++++++++++++++++++++-------
> include/standard-headers/linux/virtio_ring.h | 3 +-
> linux-headers/asm-arm64/kvm.h | 37 ++-
> linux-headers/asm-powerpc/eeh.h | 56 ++++
> linux-headers/asm-x86/hyperv.h | 4 +
> linux-headers/asm-x86/kvm.h | 4 +-
> linux-headers/linux/kvm.h | 7 +
> scripts/update-linux-headers.sh | 34 ++-
> tests/libqos/pci.c | 8 +-
> 21 files changed, 667 insertions(+), 122 deletions(-)
> create mode 100644 linux-headers/asm-powerpc/eeh.h
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-09-14 4:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-14 1:36 [Qemu-devel] [PATCH v8 0/7] sPAPR: Support EEH Error Injection Gavin Shan
2015-09-14 1:36 ` [Qemu-devel] [PATCH v8 1/7] scripts: Allow include "stdint.h" in virtio headers Gavin Shan
2015-09-14 1:36 ` [Qemu-devel] [PATCH v8 2/7] scripts: Include arch/powerpc/include/uapi/asm/eeh.h Gavin Shan
2015-09-14 1:36 ` [Qemu-devel] [PATCH v8 3/7] scripts: Submit changes while updating linux headers Gavin Shan
2015-09-14 4:12 ` David Gibson
2015-09-14 1:36 ` [Qemu-devel] [PATCH v8 4/7] Synchronize Linux headers from kernel 4.3.0-rc1 Gavin Shan
2015-09-14 1:36 ` [Qemu-devel] [PATCH v8 5/7] Obsolete PCI_MSIX_FLAGS_BIRMASK Gavin Shan
2015-09-14 1:36 ` [Qemu-devel] [PATCH v8 6/7] sPAPR: Support RTAS call ibm, {open, close}-errinjct Gavin Shan
2015-09-14 1:36 ` [Qemu-devel] [PATCH v8 7/7] sPAPR: Support RTAS call ibm,errinjct Gavin Shan
2015-09-14 4:14 ` David Gibson [this message]
2015-09-15 6:03 ` [Qemu-devel] [PATCH v8 0/7] sPAPR: Support EEH Error Injection Thomas Huth
2015-10-01 7:25 ` Gavin Shan
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=20150914041416.GI2547@voom.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=gwshan@linux.vnet.ibm.com \
--cc=lvivier@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=thuth@redhat.com \
/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.