All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: Andrew Jones <drjones@redhat.com>
Cc: kvm@vger.kernel.org, rkrcmar@redhat.com, agordeev@redhat.com,
	jan.kiszka@web.de, pbonzini@redhat.com
Subject: Re: [PATCH kvm-unit-tests 13/17] pci: edu: introduce pci-edu helpers
Date: Tue, 8 Nov 2016 01:44:01 +0800	[thread overview]
Message-ID: <20161107174401.GK3719@pxdev.xzpeter.org> (raw)
In-Reply-To: <20161104172448.a2zy5jtpnfh2iomf@kamzik.brq.redhat.com>

On Fri, Nov 04, 2016 at 06:24:48PM +0100, Andrew Jones wrote:
> On Wed, Oct 26, 2016 at 03:47:16PM +0800, Peter Xu wrote:
> > QEMU edu device is a pci device that is originally written for
> > educational purpose, however it also suits for IOMMU unit test. Adding
> > helpers for this specific device to implement the device logic.
> > 
> > The device supports lots of functions, here only DMA operation is
> > supported.
> > 
> > The spec of the device can be found at:
> > 
> >   https://github.com/qemu/qemu/blob/master/docs/specs/edu.txt
> > 
> > Signed-off-by: Peter Xu <peterx@redhat.com>
> > ---
> >  lib/pci-edu.c | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  lib/pci-edu.h | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 153 insertions(+)
> >  create mode 100644 lib/pci-edu.c
> >  create mode 100644 lib/pci-edu.h
> > 
> > diff --git a/lib/pci-edu.c b/lib/pci-edu.c
> > new file mode 100644
> > index 0000000..c594e08
> > --- /dev/null
> > +++ b/lib/pci-edu.c
> > @@ -0,0 +1,74 @@
> > +/*
> > + * Edu PCI device.
> > + *
> > + * Copyright (C) 2016 Red Hat, Inc.
> > + *
> > + * Authors:
> > + *   Peter Xu <peterx@redhat.com>,
> > + *
> > + * This work is licensed under the terms of the GNU LGPL, version 2 or
> > + * later.
> > + */
> > +
> > +#include "pci-edu.h"
> > +#include "asm/barrier.h"
> > +
> > +/* Return true if alive */
> > +static inline bool edu_check_alive(struct pci_edu_dev *dev)
> > +{
> > +	static uint32_t live_count = 1;
> > +	uint32_t value;
> > +
> > +	edu_reg_write(dev, EDU_REG_ALIVE, live_count++);
> > +	value = edu_reg_read(dev, EDU_REG_ALIVE);
> > +	return (live_count - 1 == ~value);
> > +}
> > +
> > +int edu_init(struct pci_edu_dev *dev)
> > +{
> > +	int ret;
> > +
> > +	ret = pci_find_dev(&dev->pci_dev, PCI_VENDOR_ID_QEMU,
> > +			   PCI_DEVICE_ID_EDU);
> > +	if (ret)
> > +		return ret;
> 
> Another comment: as I mentioned earlier, I think pci_find_dev should
> return a bool. Here too, i.e. edu_init returns true when init
> succeeds, else false. The only reason to go with a zero success,
> non-zero (negative) failure is if multiple error codes will be
> introduced. I don't think that'll happen for kvm-unit-tests though.

Ok. Will change pci_find_dev's return code into bool. Thanks,

-- peterx

  reply	other threads:[~2016-11-07 17:44 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-26  7:47 [PATCH kvm-unit-tests 00/17] VT-d unit test Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 01/17] x86: intel-iommu: add vt-d init test Peter Xu
2016-11-04 16:12   ` Andrew Jones
2016-11-07 16:32     ` Peter Xu
2016-11-08 10:52   ` Alexander Gordeev
2016-11-08 15:24     ` Peter Xu
2016-11-08 17:40       ` Alexander Gordeev
2016-11-08 17:42         ` Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 02/17] libcflat: add IS_ALIGNED() macro, and page sizes Peter Xu
2016-11-04 16:14   ` Andrew Jones
2016-10-26  7:47 ` [PATCH kvm-unit-tests 03/17] libcflat: moving MIN/MAX here Peter Xu
2016-11-04 16:15   ` Andrew Jones
2016-10-26  7:47 ` [PATCH kvm-unit-tests 04/17] vm/page: provide PGDIR_OFFSET() macro Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 05/17] x86/asm: add cpu_relax() Peter Xu
2016-11-04 16:18   ` Andrew Jones
2016-11-07 16:40     ` Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 06/17] pci: introduce struct pci_dev Peter Xu
2016-11-04 16:41   ` Andrew Jones
2016-11-07 17:05     ` Peter Xu
2016-11-07 18:02       ` Andrew Jones
2016-11-07 19:42         ` Peter Xu
2016-11-08 10:16           ` Andrew Jones
2016-11-08 15:33             ` Peter Xu
2016-11-08 17:27               ` Andrew Jones
2016-11-08 12:27     ` Alexander Gordeev
2016-11-08 15:48       ` Peter Xu
2016-11-08 17:35         ` Andrew Jones
2016-11-08 17:54           ` Alexander Gordeev
2016-11-08 19:59             ` Peter Xu
2016-11-08 17:46         ` Alexander Gordeev
2016-10-26  7:47 ` [PATCH kvm-unit-tests 07/17] pci: provide pci_scan_bars() Peter Xu
2016-11-04 16:47   ` Andrew Jones
2016-11-07 17:16     ` Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 08/17] x86/vmexit: leverage pci_scan_bars() Peter Xu
2016-11-04 16:54   ` Andrew Jones
2016-11-08 13:43     ` Alexander Gordeev
2016-11-08 15:55       ` Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 09/17] pci: add pci_config_write[wb]() Peter Xu
2016-11-04 16:59   ` Andrew Jones
2016-11-05 17:06   ` Alexander Gordeev
2016-11-07 17:25     ` Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 10/17] pci: provide pci_set_master() Peter Xu
2016-11-04 17:04   ` Andrew Jones
2016-11-07 17:35     ` Peter Xu
2016-11-07 17:59       ` Andrew Jones
2016-11-07 19:45         ` Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 11/17] pci: provide pci_enable_defaults() Peter Xu
2016-11-04 17:08   ` Andrew Jones
2016-10-26  7:47 ` [PATCH kvm-unit-tests 12/17] pci: add bdf helpers Peter Xu
2016-11-04 17:51   ` Andrew Jones
2016-10-26  7:47 ` [PATCH kvm-unit-tests 13/17] pci: edu: introduce pci-edu helpers Peter Xu
2016-11-04 17:18   ` Andrew Jones
2016-11-07 17:41     ` Peter Xu
2016-11-04 17:24   ` Andrew Jones
2016-11-07 17:44     ` Peter Xu [this message]
2016-10-26  7:47 ` [PATCH kvm-unit-tests 14/17] x86: intel-iommu: add dmar test Peter Xu
2016-11-04 17:53   ` Andrew Jones
2016-10-26  7:47 ` [PATCH kvm-unit-tests 15/17] pci: add msi support for 32/64bit address Peter Xu
2016-11-04 17:33   ` Andrew Jones
2016-11-07 17:58     ` Peter Xu
2016-10-26  7:47 ` [PATCH kvm-unit-tests 16/17] x86: intel-iommu: add IR MSI test Peter Xu
2016-11-04 17:40   ` Andrew Jones
2016-10-26  7:47 ` [PATCH kvm-unit-tests 17/17] x86/unittests: add intel-iommu test Peter Xu
2016-11-04 17:46   ` Andrew Jones
2016-11-07 18:06     ` Peter Xu
2016-11-08 10:39       ` Andrew Jones
2016-11-08 15:57         ` Peter Xu

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=20161107174401.GK3719@pxdev.xzpeter.org \
    --to=peterx@redhat.com \
    --cc=agordeev@redhat.com \
    --cc=drjones@redhat.com \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@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.